Submission #44859

#TimeUsernameProblemLanguageResultExecution timeMemory
44859bogdan10bosCalvinball championship (CEOI15_teams)C++14
100 / 100
467 ms964 KiB
#include <bits/stdc++.h> using namespace std; //#define FILE_IO const int mod = 1e6 + 7; int N; int v[10005]; int mxx[10005]; int dp[10005]; int main() { #ifdef FILE_IO freopen("1.in", "r", stdin); freopen("1.out", "w", stdout); #endif scanf("%d", &N); for(int i = 1; i <= N; i++) { scanf("%d", &v[i]); mxx[i] = max(mxx[i - 1], v[i]); } for(int i = 1; i <= N; i++) dp[i] = 1; int ans = 1; for(int i = N; i >= 1; i--) { (ans += (1LL * (v[i] - 1) * dp[ mxx[i - 1] ]) % mod) %= mod; for(int j = 1; j <= N; j++) dp[j] = ((1LL * dp[j] * j) % mod + dp[j + 1]) % mod; } printf("%d\n", ans); return 0; }

Compilation message (stderr)

teams.cpp: In function 'int main()':
teams.cpp:21:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &N);
     ~~~~~^~~~~~~~~~
teams.cpp:24:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &v[i]);
         ~~~~~^~~~~~~~~~~~~
#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...