Submission #69073

#TimeUsernameProblemLanguageResultExecution timeMemory
69073Bodo171Calvinball championship (CEOI15_teams)C++14
0 / 100
4 ms680 KiB
#include <iostream> #include <fstream> using namespace std; const int nmax=10005; const long long mod=1000*1000+7; long long c[2][nmax],bell[nmax],mx[nmax],pw[nmax]; long long ans; int v[nmax]; int n,i,j,use; int main() { freopen("data.in","r",stdin); cin>>n; for(i=1;i<=n;i++) { cin>>v[i]; mx[i]=max(mx[i-1],1LL*v[i]); } bell[0]=1; ans=v[n]-1;c[0][0]=1; for(i=1;i<n;i++) { use=1-use; c[use][0]=1; for(j=1;j<=i;j++) { c[use][j]=(c[1-use][j]+c[1-use][j-1])%mod; } if(i==1) c[use][1]=1; pw[0]=v[n-i]-1; for(j=1;j<=i;j++) pw[j]=(1LL*pw[j-1]*mx[n-i-1])%mod; for(j=0;j<i;j++) { bell[i]=(1LL*bell[i]+(bell[j]*c[1-use][j]))%mod; } for(j=1;j<=i;j++) ans=(ans+1LL*bell[i-j]*c[use][j]*pw[j])%mod; ans=(ans+bell[i]*pw[0])%mod; } cout<<(ans+1)%mod; return 0; }

Compilation message (stderr)

teams.cpp: In function 'int main()':
teams.cpp:12:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("data.in","r",stdin);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...