Submission #1186085
Source Code Expand
#include<cstdio> #include<cstring> #include<vector> #include<queue> #include<algorithm> #include<cmath> #include<cstdlib> #include <iterator> #include<climits> #include<string> #include<set> #include<map> #include<iostream> using namespace std; #define rep(i,n) for(int i = 0;i<((int)(n));i++) #define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++) #define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--) #define ireg(i,a,b) for(int i = ((int)(b)-1);i>=((int)(a));i--) typedef long long int lli; typedef pair<int, int> mp; #define fir first #define sec second #define IINF INT_MAX #define LINF LLONG_MAX #define eprintf(...) fprintf(stderr,__VA_ARGS__) #define pque(type) priority_queue<type,vector<type>,greater<type> > #define memst(a,b) memset(a,b,sizeof(a)) #define MOD 1000000007 int n; lli rf(lli rr){ vector<lli> v(32); v[0] = rr%MOD; lli ret = 1; rep(i, 31) v[i+1] = (v[i]*v[i])%MOD; rep(i, 32) if(((MOD-2)>>i)&1 == 1) ret = (ret*v[i])%MOD; return ret; } lli comb(lli m, lli r){ lli ret = 1; for(lli i = 1; i <= r; i++) ret = (((ret*(m-r+i))%MOD)*rf(i))%MOD; return ret; } int main(void){ scanf("%d", &n); vector<lli> a(n); rep(i, n) scanf("%lld", &a[i]); lli ans = 1, j = -1; rep(i, n){ if(j==-1 && a[i]==-1){ j = i-1; }else if(j!=-1 && a[i]!=-1){ ans = (ans * comb(a[i]-a[j] + i-j-1, i-j-1))%MOD; j = -1; } } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - タコヤ木 |
User | ktyshmt |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1458 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:47:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ ./Main.cpp:49:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] rep(i, n) scanf("%lld", &a[i]); ^
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 | 1 ms | 256 KB |
subtask2_09.txt | AC | 2 ms | 256 KB |
subtask2_10.txt | AC | 2 ms | 256 KB |
subtask2_11.txt | AC | 1 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 | 1 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 | 1 ms | 256 KB |