Submission #527684

#TimeUsernameProblemLanguageResultExecution timeMemory
527684jamielimCalvinball championship (CEOI15_teams)C++14
10 / 100
83 ms628 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define mp make_pair #define pb emplace_back #define ALL(x) x.begin(),x.end() #define SZ(x) (int)x.size() typedef long long ll; typedef pair<int,int> ii; typedef pair<ii,ii> i4; const int MOD=1000000007; const int INF=1012345678; const ll LLINF=1012345678012345678LL; const double PI=3.1415926536; const double EPS=1e-14; const int mod=1000007; int n; ll arr[10005]; ll premax[10005]; ll dp[2][10005]; int main(){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%lld",&arr[i]); if(i==0)premax[i]=arr[i]; else premax[i]=max(premax[i-1],arr[i]); } ll ans=1; // all equal (final day) for(int i=1;i<=n-1;i++){ dp[(n-1)&1][i]=1; } ans+=(arr[n-1]-1)*dp[(n-1)&1][premax[n-2]]; ans%=mod; //printf("%lld\n",ans); for(int i=n-2;i>=1;i--){ for(int j=1;j<=i;j++){ dp[i&1][j]=dp[(i+1)&1][j]+dp[(i+1)&1][j+1]; dp[i&1][j]%=mod; } ans+=(arr[i]-1)*dp[i&1][premax[i-1]]; ans%=mod; //printf("%lld\n",ans); } printf("%lld",ans); }

Compilation message (stderr)

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