Submission #852129

#TimeUsernameProblemLanguageResultExecution timeMemory
852129kderyloCalvinball championship (CEOI15_teams)C++17
40 / 100
180 ms852 KiB
#include <iostream> using namespace std; const int stala=1e4+10; const long long mod=1000007; long long dp[stala][2]; long long dp2[stala][2]; int tab[stala]; void prep(int ile) { for(int i=1;i<=ile;i++){ dp[i][1]=dp[i][0]; dp2[i][1]=dp2[i][0]; dp[i][0]=0; dp2[i][0]=0; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int ile; cin>>ile; for(int i=1;i<=ile;i++){ cin>>tab[i]; } long long wyn=0; for(int i=ile;i>=1;i--){ if(i==ile){ for(int j=1;j<=ile;j++){ dp[j][0]=j; dp2[j][0]=1; } } else{ for(int j=1;j<=i;j++){ dp[j][0]=(long long)j*(dp[j][1]+dp2[j+1][1]); dp2[j][0]=dp[j][1]+dp2[j+1][1]; dp[j][0]%=mod; dp2[j][0]%=mod; } } wyn+=dp[tab[i]-1][0]; wyn%=mod; prep(i); } wyn++; wyn%=mod; cout<<wyn; return 0; }
#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...