Submission #221650

#TimeUsernameProblemLanguageResultExecution timeMemory
221650LawlietCalvinball championship (CEOI15_teams)C++17
70 / 100
12 ms4352 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 1010; const int MOD = 1000007; int n; int v[MAXN]; int dp[MAXN][MAXN]; int solve(int i, int j) { int& ans = dp[i][j]; if( ans != -1 ) return ans; if( i == n + 1 ) return ans = 1; ans = solve( i + 1 , j + 1 ); ans += j*solve( i + 1 , j ); ans %= MOD; return ans; } int main() { scanf("%d",&n); memset( dp , -1 , sizeof(dp) ); for(int i = 1 ; i <= n ; i++) scanf("%d",&v[i]); int ans = 0; int maxValue = 0; for(int i = 1 ; i <= n ; i++) { ans += solve( i + 1 , maxValue )*( v[i] - 1 ); maxValue = max( maxValue , v[i] ); ans %= MOD; } ans++; ans %= MOD; printf("%d\n",ans); }

Compilation message (stderr)

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