Submission #527353

#TimeUsernameProblemLanguageResultExecution timeMemory
527353beepbeepsheepCalvinball championship (CEOI15_teams)C++17
100 / 100
577 ms672 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ii pair<ll,ll> #define endl '\n' const ll inf=1e15; const ll mod=1e6+7; const ll maxn=10005; ll dp[maxn],nxt[maxn],arr[maxn],pref[maxn]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n,ans=0; cin>>n; for (int i=1;i<=n;i++){ cin>>arr[i]; dp[i]=1; pref[i]=max(arr[i],pref[i-1]); } for (int i=n;i>=1;i--){ for (int j=1;j<maxn-1;j++){ nxt[j]=(dp[j]*(j))%mod+dp[j+1]; nxt[j]%=mod; } for (int j=1;j<arr[i];j++){ ans+=dp[max<ll>(j,pref[i-1])]; ans%=mod; } swap(dp,nxt); } cout<<(ans+1)%mod; return 0; }
#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...