# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
591524 | andrei_boaca | Calvinball championship (CEOI15_teams) | C++14 | 346 ms | 612 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e6+7;
ll n,v[10005],dp[3][10005],ans;
int need[10005];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
int maxim=0;
for(int i=1;i<=n;i++)
{
bool newmax=0;
if(v[i]>maxim)
{
maxim=v[i];
newmax=1;
}
need[n-i]=maxim-newmax;
}
need[0]=1;
for(int i=1;i<=n;i++)
dp[0][i]=i+1;
need[1]=dp[0][need[1]];
for(int i=2;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
ll val=(1LL*j*dp[0][j])%mod;
val=(val+dp[0][j+1])%mod;
dp[1][j]=val;
}
need[i]=dp[1][need[i]];
for(int j=1;j<=n;j++)
dp[0][j]=dp[1][j];
}
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)*need[n-i]))%mod;
ans=(ans+val)%mod;
}
ans++;
ans%=mod;
cout<<ans;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |