Submission #995462

#TimeUsernameProblemLanguageResultExecution timeMemory
99546212345678Trains (BOI24_trains)C++17
21 / 100
2070 ms1080 KiB
#include <bits/stdc++.h>

using namespace std;

const int nx=1e5+5, mod=1e9+7;

int n, d[nx], x[nx], dp[nx], res;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>n;
    for (int i=1; i<=n; i++) cin>>d[i]>>x[i];
    dp[1]=1;
    for (int i=2; i<=n; i++)
    {
        for (int j=1; j<i; j++)
        {
            if (d[j]==0) continue;
            if (((i-j)%d[j])==0&&(((i-j)/d[j])<=x[j])) dp[i]=(dp[i]+dp[j])%mod;
        }
    }
    for (int i=1; i<=n; i++) res=(res+dp[i])%mod;
    cout<<res;
}
#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...