Submission #545887

#TimeUsernameProblemLanguageResultExecution timeMemory
545887rainboyCalvinball championship (CEOI15_teams)C11
100 / 100
127 ms352 KiB
#include <stdio.h> #define N 10000 #define MD 1000007 int main() { static int dp[N + 1]; int n, k, k_, i, ans; scanf("%d", &n); k_ = 0; for (i = 0; i < n; i++) { int a; scanf("%d", &a); for (k = i + 1; k >= 0; k--) dp[k] = ((long long) dp[k] * k + (k == 0 ? 0 : dp[k - 1])) % MD; dp[k_] = (dp[k_] + a - 1) % MD; if (a == k_ + 1) k_++; } ans = 1; for (k = 1; k <= n; k++) ans = (ans + dp[k]) % MD; printf("%d\n", ans); return 0; }

Compilation message (stderr)

teams.c: In function 'main':
teams.c:10:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |  scanf("%d", &n);
      |  ^~~~~~~~~~~~~~~
teams.c:15:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   scanf("%d", &a);
      |   ^~~~~~~~~~~~~~~
#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...