Submission #593405

#TimeUsernameProblemLanguageResultExecution timeMemory
593405HanksburgerCalvinball championship (CEOI15_teams)C++17
100 / 100
109 ms468 KiB
#include <bits/stdc++.h>
using namespace std;
const int mod=1e6+7;
int a[10005], m[10005], d[2][10005];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, ans=1;
    cin >> n;
    bool b=n&1;
    for (int i=1; i<=n; i++)
    {
        cin >> a[i];
        m[i]=max(m[i-1], a[i]);
        d[b][i]=1;
    }
    for (int i=n-1; i; i--, b^=1)
    {
        ans=(ans+d[b][m[i]]*(a[i+1]-1LL))%mod;
        for (int j=1; j<=i; j++)
            d[!b][j]=((long long)d[b][j]*j+d[b][j+1])%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...