Submission #1233601

#TimeUsernameProblemLanguageResultExecution timeMemory
1233601AriadnaTrains (BOI24_trains)C++20
21 / 100
2095 ms1300 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int mod = 1e9+7, N = 1e5;
ll dp[N];

int main() {
    int n;
    cin >> n;
    vector<int> d(n), x(n);
    for (int i = 0; i < n; ++i) cin >> d[i] >> x[i];
    dp[0] = 1;
    for (int i = 1; i < n; ++i) {
        for (int j = 0; j < i; ++j) {
            if (!d[j]) continue;
            if ((i-j)%d[j] == 0 && (i-j)/d[j] <= x[j]) dp[i]+=dp[j]; 
            dp[i] %= mod;
        }
    }
    ll tot = 0;
    for (int i = 0; i < n; ++i) {
        tot += dp[i];
        tot %= mod;
    }
    cout << tot << endl;

    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...