# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
154204 | arnold518 | Calvinball championship (CEOI15_teams) | C++14 | 263 ms | 764 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;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int MAXN = 1e4;
const ll MOD = 1e6+7;
int N, A[MAXN+10], B[MAXN+10];
ll dp[3][MAXN+10], ans;
int main()
{
int i, j;
scanf("%d", &N);
for(i=1; i<=N; i++) scanf("%d", &A[i]);
for(i=1; i<=N; i++) B[i]=max(B[i-1], A[i]);
for(j=1; j<=N; j++) dp[0][j]=1;
ans+=A[N]-1;
for(i=1; i<=N; i++)
{
for(j=1; j<=N; j++)
{
dp[i&1][j]=dp[i-1&1][j]*j+dp[i-1&1][j+1];
dp[i&1][j]%=MOD;
}
for(j=1; j<A[N-i]; j++) ans+=dp[i&1][max(j, B[N-i-1])];
ans%=MOD;
}
printf("%lld", ans+1);
}
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... |