Submission #1198985

#TimeUsernameProblemLanguageResultExecution timeMemory
1198985brover29Magneti (COCI21_magneti)C++17
10 / 110
3 ms4680 KiB
    #include <bits/stdc++.h>
    //qwerty47924692
    using namespace std;
    using ll = long long;
    const ll N=10005;
    const ll mod=1e9+7;
    const string br="617283";
    #define sz(a)(ll)a.size()
    #define f first
    #define s second
    ll dp[N][55],sum[N][55],r[N],n,l;
    int main(){
        ios_base::sync_with_stdio(0);
        cin.tie(0);

        cin>>n>>l;
        ll f=1;
        for(ll i=1;i<=n;i++){
            cin>>r[i];
            f*=i;
            f%=mod;
        }dp[0][0]=1;
        for(ll i=1;i<=l;i++){
            dp[i][0]=dp[i-1][0];
            for(ll j=1;j<=n;j++){
                ll k=max(r[j],r[j-1]);
                dp[i][j]=dp[i-1][j];
                dp[i][j]+=dp[max(0ll,i-k)][j-1];
                dp[i][j]%=mod;

            }
        }
        cout<<dp[l][n]*f%mod;
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...