Submission #1267967

#TimeUsernameProblemLanguageResultExecution timeMemory
1267967gry3125Trains (BOI24_trains)C++20
21 / 100
2093 ms1196 KiB
#include <bits/stdc++.h>
#define pb push_back
#define ll long long int
#define all(v) (v).begin(),(v).end()
#define fi first 
#define se second
using namespace std;

vector<ll> ans(100005);

int main() {
	int n; cin >> n; ans[1] = 1;
    for (int i = 1; i <= n; i++) {
        ll d, x; cin >> d >> x;
        if (d == 0) continue;
        for (ll j = 1; j <= x && i+j*d <= n; j++) {
        	ans[i+j*d] += ans[i];
        	ans[i+j*d] %= 1000000007;
        }
    }
    ll sum = 0;
    for (int i = 1; i <= n; i++) {
    	sum += ans[i]; sum %= 1000000007;
    }
    cout << sum;
    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...