Submission #527291

#TimeUsernameProblemLanguageResultExecution timeMemory
527291ecxxCalvinball championship (CEOI15_teams)C++17
70 / 100
1085 ms460 KiB
#include <bits/stdc++.h> using namespace std; int MOD = 1000007; vector<int> seq; vector<vector<int > > dp; int main() { ios::sync_with_stdio(0); cin.tie(0); int N, dpns, dps;cin>>N; seq.assign(N, 0); dp.assign(2, vector<int>(N+2, -1)); for (int i = N-1; i >= 0; i--) { cin >> seq[i]; } for (int j = 0; j < N+1; j++) { dp[0][j] = j+1; dp[1][j] = seq[0]; } for (int i = 1; i < N; i++) { for (int j = 0; j < N+1; j++) { dpns = j * dp[0][j] + dp[0][j+1]; dpns %= MOD; dps = (dp[1][max(seq[i], j)]) + ((seq[i]-1)*dp[0][j]); dps %= MOD; dp[1][j] = dps; dp[0][j] = dpns; } } cout << dp[1][1] << endl; }
#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...