Submission #34351

#TimeUsernameProblemLanguageResultExecution timeMemory
34351mohammad_kilaniCalvinball championship (CEOI15_teams)C++14
60 / 100
1000 ms6004 KiB
#include <bits/stdc++.h> using namespace std; #define mod 1000007 #define oo 2000000000 const int N = 1010; int arr[N] ; int dp[N][N]; int n; int solve(int i,int mx){ if(i == n){ return 1; } if(dp[i][mx] != -1) return dp[i][mx]; dp[i][mx] = 0; for(int j=1;j<=mx+1;j++){ dp[i][mx] += solve(i+1,max(mx,j)); dp[i][mx] %= mod; } return dp[i][mx]; } int main() { //freopen("in.txt","r",stdin); scanf("%d",&n); memset(dp,-1,sizeof(dp)); for(int i=0;i<n;i++) scanf("%d",&arr[i]); int ans = 1 , mx = 0 ; for(int i=0;i<n;i++){ for(int j=1;j<arr[i];j++){ mx = max(mx,j); ans+= solve(i+1,mx); ans %= mod; } mx = max(mx,arr[i]); } cout << ans << endl; return 0; }

Compilation message (stderr)

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