제출 #591497

#제출 시각아이디문제언어결과실행 시간메모리
591497andrei_boacaCalvinball championship (CEOI15_teams)C++14
20 / 100
58 ms16624 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; ll n,v[10005],dp[1005][1005],ans; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>v[i]; for(int i=1;i<=n;i++) { dp[1][i]=i+1; dp[0][i]=1; } for(ll i=2;i<=n;i++) for(ll j=1;j<=n;j++) { ll val=(1LL*j*dp[i-1][j])%mod; val=(val+dp[i-1][j+1])%mod; dp[i][j]=val; } int maxim=0; for(int i=1;i<=n;i++) { bool newmax=0; if(v[i]>maxim) { maxim=v[i]; newmax=1; } ll val=(1LL*((v[i]-1)*dp[n-i][maxim-newmax]))%mod; ans=(ans+val)%mod; } ans++; ans%=mod; cout<<ans; 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...