Submission #1369492

#TimeUsernameProblemLanguageResultExecution timeMemory
1369492Charizard2021Trains (BOI24_trains)C++20
0 / 100
2095 ms1448 KiB
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
int main(){
    int n;
    cin >> n;
    vector<int> d(1 + n);
    vector<int> x(1 + n);
    for(int i = 1; i <= n; i++){
        cin >> d[i] >> x[i];
    }
    vector<int> dp(1 + n, 0);
    for(int i = n; i >= 1; i--){
        if(d[i] == 0) continue;
        int cur = i;
        int cnt = 0;
        while(cur + d[i] <= n && cnt + 1 <= x[i]){
            cur += d[i];
            cnt++;
            dp[i] = (dp[i] + dp[cur]) % MOD;
        }
        dp[i]++;
    }
    cout << dp[1] << "\n";
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...