Submission #711571

#TimeUsernameProblemLanguageResultExecution timeMemory
711571RaulAndrei01Calvinball championship (CEOI15_teams)C++14
10 / 100
197 ms456 KiB
#include <iostream> using namespace std; const int mod = 1e6 + 7; const int nmax = 1e5 + 2; int dp[2][nmax]; int a[nmax]; int main() { int n; cin >> n; int maxx = 1; for (int i = 1; i <= n; i++) { cin >> a[i]; dp[i % 2][maxx] += a[i] - 1; for (int k = maxx + 1; k < a[i]; k++) { dp[i % 2][k]++; } for (int k = n; k > 0; k--) { dp[i % 2][k] += dp[(i-1) % 2][k-1] + dp[(i-1) % 2][k] * k; // cout << i << ' ' << k << ' ' << dp[i % 2][k] << '\n'; dp[i%2][k] %= mod; } maxx = max(maxx , a[i]); } int ans = 0; for (int i = 1; i <= n; i++) { ans += dp[n % 2][i]; ans %= mod; } cout << (ans + 1) % mod << '\n'; 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...