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
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
AC × 4
AC × 14
AC × 28
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