Submission #44747

#TimeUsernameProblemLanguageResultExecution timeMemory
44747RayaBurong25_1Calvinball championship (CEOI15_teams)C++17
70 / 100
79 ms32492 KiB
#include <stdio.h> #define MOD 1000007LL int n; int a[10005]; long long dp[1005][2005]; long long max(long long a, long long b) { return (a > b)?a:b; } int main() { scanf("%d", &n); int i, j; for (i = 0; i < n; i++) scanf("%d", &a[i]); for (i = 0; i <= n; i++) { for (j = 1; j <= 2*n - i; j++) { if (i == 0) dp[i][j] = 1LL; else dp[i][j] = (1LL*j*dp[i - 1][j] + dp[i - 1][j + 1])%MOD; // if (j <= 2*n - i) // printf("%d ", dp[i][j]); } // printf("\n"); } long long ans = 1; int mx = 0; for (i = 0; i < n; i++) { for (j = 1; j < a[i]; j++) ans = (ans + dp[(n - 1) - i][max(mx, j)])%MOD; mx = max(mx, a[i]); } printf("%lld", ans); }

Compilation message (stderr)

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