Submission #1165650
Source Code Expand
#include<bits/stdc++.h> using namespace std; #define ll long long int const ll MOD=1e9+7; ll extgcd(ll a,ll b,ll &x,ll &y){ if(a==0){ x=-1; y=-1; return b; } if(a==1){ x=-(b-1); y=1; return 1; } ll d=b/a; ll x1,y1; ll ret=extgcd(b-d*a,a,x1,y1); x=y1-d*x1; x=((x%MOD)+MOD)%MOD; y=x1; y=((y%MOD)+MOD)%MOD; return ret; } ll mod_inverse(ll num){ ll x,y; assert(extgcd(num,MOD,x,y)==1); return ((x%MOD)+MOD)%MOD; } ll c(ll n,ll r){ ll res=1; for(int i=0;i<r;i++){ res*=(n-i); res%=MOD; } for(int i=0;i<r;i++){ ll inv=mod_inverse(i+1); res*=inv; res%=MOD; } return res; } ll h(ll n,ll r){ return c(n+r-1,r); } int main(){ int n; cin>>n; vector<int> a(n); for(int i=0;i<n;i++) cin>>a[i]; int pre=0; ll res=1; for(int i=1;i<n;i++){ if(a[i]!=-1){ if(pre!=i-1){ ll val=a[i]-a[pre]+1; res*=h(val,i-pre-1); res%=MOD; } pre=i; } } cout<<res<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - タコヤ木 |
User | nikutto |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1067 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 50 / 50 | 30 / 30 | 20 / 20 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt |
Subtask2 | sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt |
Subtask3 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 256 KB |
sample_02.txt | AC | 1 ms | 256 KB |
sample_03.txt | AC | 1 ms | 256 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | AC | 1 ms | 256 KB |
subtask1_04.txt | AC | 1 ms | 256 KB |
subtask1_05.txt | AC | 1 ms | 256 KB |
subtask1_06.txt | AC | 1 ms | 256 KB |
subtask1_07.txt | AC | 1 ms | 256 KB |
subtask1_08.txt | AC | 1 ms | 256 KB |
subtask1_09.txt | AC | 1 ms | 256 KB |
subtask1_10.txt | AC | 1 ms | 256 KB |
subtask1_11.txt | AC | 1 ms | 256 KB |
subtask1_12.txt | AC | 1 ms | 256 KB |
subtask2_01.txt | AC | 1 ms | 256 KB |
subtask2_02.txt | AC | 1 ms | 256 KB |
subtask2_03.txt | AC | 1 ms | 256 KB |
subtask2_04.txt | AC | 1 ms | 256 KB |
subtask2_05.txt | AC | 1 ms | 256 KB |
subtask2_06.txt | AC | 1 ms | 256 KB |
subtask2_07.txt | AC | 2 ms | 256 KB |
subtask2_08.txt | AC | 2 ms | 256 KB |
subtask2_09.txt | AC | 2 ms | 256 KB |
subtask2_10.txt | AC | 2 ms | 256 KB |
subtask2_11.txt | AC | 2 ms | 256 KB |
subtask2_12.txt | AC | 2 ms | 256 KB |
subtask3_01.txt | AC | 1 ms | 256 KB |
subtask3_02.txt | AC | 1 ms | 256 KB |
subtask3_03.txt | AC | 1 ms | 256 KB |
subtask3_04.txt | AC | 2 ms | 256 KB |
subtask3_05.txt | AC | 1 ms | 256 KB |
subtask3_06.txt | AC | 2 ms | 256 KB |
subtask3_07.txt | AC | 2 ms | 256 KB |
subtask3_08.txt | AC | 2 ms | 256 KB |
subtask3_09.txt | AC | 2 ms | 256 KB |
subtask3_10.txt | AC | 2 ms | 256 KB |
subtask3_11.txt | AC | 2 ms | 256 KB |
subtask3_12.txt | AC | 2 ms | 256 KB |