Submission #527311

# Submission time Handle Problem Language Result Execution time Memory
527311 2022-02-17T05:56:21 Z beepbeepsheep Calvinball championship (CEOI15_teams) C++17
70 / 100
1000 ms 65520 KB
#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;

map<ii,int> dp;
ll solve(ll digit, ll rem){
    if (rem==0) return 1;
    if (dp.find(make_pair(digit,rem))!=dp.end()) 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;
    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 time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 1 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 588 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 588 KB Output is correct
2 Correct 2 ms 588 KB Output is correct
3 Correct 2 ms 588 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 90 ms 7900 KB Output is correct
2 Correct 74 ms 8200 KB Output is correct
3 Correct 84 ms 8048 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 403 ms 31404 KB Output is correct
2 Correct 424 ms 31284 KB Output is correct
3 Correct 502 ms 31556 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1086 ms 64472 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1084 ms 64900 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1096 ms 65520 KB Time limit exceeded
2 Halted 0 ms 0 KB -