Submission #1132509

#TimeUsernameProblemLanguageResultExecution timeMemory
1132509KubetiCalvinball championship (CEOI15_teams)C++20
10 / 100
17 ms4680 KiB
#include <bits/stdc++.h> using namespace std; const int nmax = 1e3 + 1, mod = 1e6 + 7; int dp[nmax][nmax]; int v[nmax]; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); int n; cin >> n; for(int i = 1; i <= n; i++) { cin >> v[i]; } dp[0][0] = 1; int maxx = 1; for(int i = 1; i <= n; i++) { // pastram prefixul pana in i dp[i][0] = 1; // pastram prefixul pana in i - 1 if(v[i] != 1) { dp[i][maxx] = dp[i - 1][0] * (v[i] - 1); } // maxim 1 if(maxx != 1) { dp[i][1] = 1; } for(int j = 2; j <= n; j++) { // prefix i, max j dp[i][j] = (dp[i][j] + (dp[i - 1][j] * (j - 1) + dp[i - 1][j - 1])) % mod; } maxx = max(maxx, v[i]); } int ans = 0; for(int j = 1; j <= 9; j++) { ans += dp[n][j]; } cout << (ans + 1) % mod; 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...