#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;
set<ll> adj[100005];
vector<ll> ans(100005);
int main() {
int n; cin >> n;
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++) {
adj[i+j*d].insert(i+(j-1)*d);
}
}
ll cur = 0; ans[1] = 1;
for (int i = 1; i <= n; i++) {
for (auto j : adj[i]) {
ans[i] += ans[j];
ans[i] %= 1000000007;
}
cur += ans[i];
cur %= 1000000007;
}
cout << cur;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |