Submission #154208

#TimeUsernameProblemLanguageResultExecution timeMemory
154208junodeveloperCalvinball championship (CEOI15_teams)C++14
100 / 100
305 ms632 KiB
#include <bits/stdc++.h> #define sz(x) ((int)x.size()) #define all(x) (x).begin(), (x).end() #define fi first #define se second using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<ll,ll> pll; const int mod = 1e6+7; int n,a[10010],b[10010]; int dp[2][10010]; int main() { scanf("%d",&n); int i,j; for(i=1;i<=n;i++)scanf("%d",a+i),b[i]=max(b[i-1],a[i]); int res=0; for(i=1;i<=n+1;i++) dp[1-n%2][i]=1; for(i=n;i>=1;i--) { res+=(ll)(a[i]-1)*dp[1-i%2][b[i-1]]%mod; res%=mod; for(j=1;j<=i;j++) { dp[i%2][j]=((ll)dp[1-i%2][j]*j%mod+dp[1-i%2][j+1])%mod; } } printf("%d",res+1); return 0; }

Compilation message (stderr)

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