Submission #1697312
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
int N, x[100009];
const int mod = 1e9 + 7;
int mul (int x, int y) {return 1LL * x * y % mod;}
int main ()
{
//freopen ("input", "r", stdin);
//freopen ("output", "w", stdout);
scanf ("%d", &N), x[0] = -1;
for (int i=1; i<=N; i++)
scanf ("%d", &x[i]), x[i] = min (x[i], x[i - 1] + 2);
int i = 1;
int sz = 1, ans = 1;
while (sz)
{
while (i <= N && x[i] >= x[i - 1] + 2)
x[i] = x[i - 1] + 2, i ++, sz ++;
i --, sz --;
if (i == N)
{
while (sz)
ans = mul (ans, sz), sz --;
break;
}
else
{
ans = mul (ans, sz + 1);
x[i + 1] = x[i], x[i] -= 2, i ++;
}
}
printf ("%d\n", ans);
return 0;
}
Submission Info
Submission Time
2017-10-22 00:04:59+0900
Task
A - Robot Racing
User
geniucos
Language
C++14 (GCC 5.4.1)
Score
900
Code Size
758 Byte
Status
AC
Exec Time
13 ms
Memory
640 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:15:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf ("%d", &N), x[0] = -1;
^
./Main.cpp:17:57: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf ("%d", &x[i]), x[i] = min (x[i], x[i - 1] + 2);
^
Judge Result
Set Name
Sample
Subtask
All
Score / Max Score
0 / 0
500 / 500
400 / 400
Status
Set Name
Test Cases
Sample
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
Subtask
0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt
All
0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt
Case Name
Status
Exec Time
Memory
0_00.txt
AC
1 ms
256 KB
0_01.txt
AC
1 ms
256 KB
0_02.txt
AC
1 ms
256 KB
0_03.txt
AC
1 ms
256 KB
1_00.txt
AC
1 ms
256 KB
1_01.txt
AC
1 ms
256 KB
1_02.txt
AC
1 ms
256 KB
1_03.txt
AC
1 ms
256 KB
1_04.txt
AC
1 ms
256 KB
1_05.txt
AC
1 ms
256 KB
1_06.txt
AC
1 ms
256 KB
1_07.txt
AC
1 ms
256 KB
1_08.txt
AC
1 ms
256 KB
1_09.txt
AC
1 ms
256 KB
1_10.txt
AC
1 ms
256 KB
2_00.txt
AC
11 ms
640 KB
2_01.txt
AC
11 ms
640 KB
2_02.txt
AC
13 ms
640 KB
2_03.txt
AC
11 ms
640 KB
2_04.txt
AC
11 ms
640 KB
2_05.txt
AC
11 ms
640 KB
2_06.txt
AC
11 ms
640 KB
2_07.txt
AC
11 ms
640 KB
2_08.txt
AC
11 ms
640 KB
2_09.txt
AC
11 ms
640 KB
2_10.txt
AC
11 ms
640 KB
2_11.txt
AC
13 ms
640 KB
2_12.txt
AC
13 ms
640 KB