Submission #527306

#TimeUsernameProblemLanguageResultExecution timeMemory
527306beepbeepsheepCalvinball championship (CEOI15_teams)C++17
0 / 100
41 ms65540 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #define ll long long #define ii pair<ll,ll> #define endl '\n' const ll inf=1e15; const ll mod=1e6+7; const ll maxn=5005; int dp[maxn][maxn]; ll solve(ll digit, ll rem){ if (rem==0) return 1; if (dp[digit][rem]!=-1) return dp[digit][rem]; ll ans=0; ans=(solve(digit,rem-1)*digit)%mod+solve(digit+1,rem-1); return dp[digit][rem]=ans%mod; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n,ele,ans=0; cin>>n; ll ele2=0,temp; memset(dp,-1,sizeof(dp)); for (int i=1;i<=n;i++){ cin>>ele; for (int j=1;j<ele;j++){ temp=max<ll>(j,ele2); ans+=solve(temp,n-i); ans%=mod; } ele2=max(ele,ele2); } 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...