Submission #34355

#TimeUsernameProblemLanguageResultExecution timeMemory
34355mohammad_kilaniCalvinball championship (CEOI15_teams)C++14
80 / 100
1000 ms2172 KiB
#include <bits/stdc++.h> using namespace std; #define mod 1000007 #define oo 2000000000 const int N = 10010; int arr[N],dp[2][N],mxl[N],n; 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]); for(int i=0;i<=n+2;i++) dp[(n & 1)][i] = 1; mxl[0] = 0; for(int i=1;i<n;i++) mxl[i] = max(mxl[i-1],arr[i-1]); int ans = 1 , mx = 0 ; for(int i=n-1;i>=0;i--){ int mx = mxl[i]; for(int j=1;j<arr[i];j++){ mx = max(mx,j); ans+= dp[(i+1) & 1][mx]; if(ans >= mod) ans-=mod; } for(int j=1;j<=n+2;j++){ dp[i&1][j] = (long long)dp[(i+1)&1][j] * j % mod; dp[i&1][j] += dp[(i+1)&1][j+1]; if(dp[i&1][j] >= mod) dp[i&1][j] -=mod; } } printf("%d\n",ans); return 0; }

Compilation message (stderr)

teams.cpp: In function 'int main()':
teams.cpp:16:16: warning: unused variable 'mx' [-Wunused-variable]
  int ans = 1 , mx = 0 ;
                ^
teams.cpp:10:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
teams.cpp:12: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...