Submission #1131247
Source Code Expand
//by yjz
#include<bits/stdc++.h>
using namespace std;
#define FF first
#define SS second
#define PB push_back
#define MP make_pair
typedef long long ll;
const ll INF=1<<28;
const ll LINF=1ll<<61;
//My own input/output stream
#define geti(x) x=getnum()
#define getii(x,y) geti(x),geti(y)
#define getiii(x,y,z) getii(x,y),geti(z)
#define puti(x) putnum(x),putsp()
#define putii(x,y) puti(x),putnum(y),putsp()
#define putiii(x,y,z) putii(x,y),putnum(z),putsp()
#define putsi(x) putnum(x),putendl()
#define putsii(x,y) puti(x),putnum(y),putendl()
#define putsiii(x,y,z) putii(x,y),putnum(z),putendl()
inline ll getnum()
{
register ll r=0;register bool ng=0;register char c;c=getchar();
while(c!='-'&&(c<'0'||c>'9'))c=getchar();
if(c=='-')ng=1,c=getchar();
while(c>='0'&&c<='9')r=r*10+c-'0',c=getchar();
if(ng)r=-r;return r;
}
template <class T> inline void putnum(T x)
{
if(x<0)putchar('-'),x=-x;
register short a[20]={},sz=0;
while(x>0)a[sz++]=x%10,x/=10;
if(sz==0)putchar('0');
for(int i=sz-1;i>=0;i--)putchar('0'+a[i]);
}
inline void putsp(){putchar(' ');}
inline void putendl(){putchar('\n');}
inline char mygetchar(){register char c=getchar();while(c==' '||c=='\n')c=getchar();return c;}
int n,a[100111];
const int mod=1e9+7;
int main()
{
geti(n);
for(int i=1;i<=n;i++)
{
geti(a[i]);
}
int it=1;
ll ans=1;
for(int i=1;i<=n;i++)
{
while(it<n&&a[it]>=(it-i)*2+1)it++;
// cout<<"it="<<it<<endl;
ans=1ll*ans*(it-i+1)%mod;
}
cout<<ans<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
A - Robot Racing |
User |
fizzydavid |
Language |
C++14 (GCC 5.4.1) |
Score |
900 |
Code Size |
1536 Byte |
Status |
AC |
Exec Time |
10 ms |
Memory |
640 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 |
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 |
6 ms |
640 KB |
2_01.txt |
AC |
7 ms |
640 KB |
2_02.txt |
AC |
10 ms |
640 KB |
2_03.txt |
AC |
7 ms |
640 KB |
2_04.txt |
AC |
7 ms |
640 KB |
2_05.txt |
AC |
7 ms |
640 KB |
2_06.txt |
AC |
7 ms |
640 KB |
2_07.txt |
AC |
7 ms |
640 KB |
2_08.txt |
AC |
7 ms |
640 KB |
2_09.txt |
AC |
7 ms |
640 KB |
2_10.txt |
AC |
7 ms |
640 KB |
2_11.txt |
AC |
9 ms |
640 KB |
2_12.txt |
AC |
9 ms |
640 KB |