Submission #1697409
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> P;
typedef pair<int,P> P1;
typedef pair<P,P> P2;
typedef pair<double,int>Q;
#define pu push
#define pb push_back
#define mp make_pair
#define eps 1e-7
#define INF 1000000000
#define mod 1000000007
#define fi first
#define sc second
#define rep(i,x) for(int i=0;i<x;i++)
#define repn(i,x) for(int i=1;i<=x;i++)
#define SORT(x) sort(x.begin(),x.end())
#define ERASE(x) x.erase(unique(x.begin(),x.end()),x.end())
#define POSL(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin())
#define POSU(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin())
int n,p[1000005],M[1000005],beg,sum;
ll ans=1;
int x[1000005];
int main(){
cin>>n;
rep(i,n) cin>>p[i];
rep(i,n){
int a = p[i]-i*2;
if(a>=1) beg++,sum++;
else break;
}
rep(i,n){
ans = ans*1LL*(beg==n?sum:(1+sum))%mod;
while(beg<n && p[beg]-(beg-i-1)*2 >=1){
beg++; sum++;
}
sum--;
}
cout<<ans<<endl;
}
Submission Info
Submission Time |
|
Task |
A - Robot Racing |
User |
IH19980412 |
Language |
C++14 (GCC 5.4.1) |
Score |
900 |
Code Size |
990 Byte |
Status |
AC |
Exec Time |
57 ms |
Memory |
6400 KB |
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 |
2 ms |
4352 KB |
0_01.txt |
AC |
2 ms |
4352 KB |
0_02.txt |
AC |
2 ms |
4352 KB |
0_03.txt |
AC |
2 ms |
4352 KB |
1_00.txt |
AC |
2 ms |
4352 KB |
1_01.txt |
AC |
2 ms |
4352 KB |
1_02.txt |
AC |
2 ms |
4352 KB |
1_03.txt |
AC |
2 ms |
4352 KB |
1_04.txt |
AC |
2 ms |
4352 KB |
1_05.txt |
AC |
2 ms |
4352 KB |
1_06.txt |
AC |
2 ms |
4352 KB |
1_07.txt |
AC |
2 ms |
4352 KB |
1_08.txt |
AC |
2 ms |
4352 KB |
1_09.txt |
AC |
2 ms |
4352 KB |
1_10.txt |
AC |
2 ms |
4352 KB |
2_00.txt |
AC |
38 ms |
6400 KB |
2_01.txt |
AC |
41 ms |
6400 KB |
2_02.txt |
AC |
57 ms |
6400 KB |
2_03.txt |
AC |
39 ms |
6400 KB |
2_04.txt |
AC |
39 ms |
6400 KB |
2_05.txt |
AC |
40 ms |
6400 KB |
2_06.txt |
AC |
40 ms |
6400 KB |
2_07.txt |
AC |
40 ms |
6400 KB |
2_08.txt |
AC |
40 ms |
6400 KB |
2_09.txt |
AC |
40 ms |
6400 KB |
2_10.txt |
AC |
40 ms |
6400 KB |
2_11.txt |
AC |
53 ms |
6400 KB |
2_12.txt |
AC |
54 ms |
6400 KB |