Submission #48437

#TimeUsernameProblemLanguageResultExecution timeMemory
48437IvanCCalvinball championship (CEOI15_teams)C++17
10 / 100
793 ms8844 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 1010; const ll MOD = 1000007LL; ll dp[MAXN][MAXN],tot; int N,vetor[MAXN]; ll solve(int pos,int maior){ if(dp[pos][maior] != -1) return dp[pos][maior]; if(pos == N){ return dp[pos][maior] = maior; } ll ans = 0; for(int i = 1;i<=min(maior+1,N);i++){ ans += solve(pos+1,max(i,maior)); } return dp[pos][maior] = ans % MOD; } int main(){ scanf("%d",&N); memset(dp,-1,sizeof(dp)); for(int i = 1;i<=N;i++) scanf("%d",&vetor[i]); int maior = 0; for(int pos = 1;pos<=N;pos++){ for(int i = 1;i<vetor[pos];i++){ if(pos != N) tot += solve(pos+1, min(N, maior+1) ); else tot++; } tot %= MOD; maior = max(maior,vetor[pos]); } tot++; tot %= MOD; printf("%lld\n",tot); return 0; }

Compilation message (stderr)

teams.cpp: In function 'int main()':
teams.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&N);
  ~~~~~^~~~~~~~~
teams.cpp:26:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 1;i<=N;i++) scanf("%d",&vetor[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...