#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
using ll = long long;
ll gcd(ll a, ll b)
{
return b ? gcd(b, a % b) : a;
}
void solve() {
ll n; cin >> n;
vector<vector<ll>>gp(n);
for (ll i = 0; i < n; i++) {
ll d, x; cin >> d >> x;
if (d == 0)continue;
for (ll j = 1; j <= x; j++) {
if (i + j * d < n) {
gp[i].push_back(i + j * d);
}
else break;
}
}
ll ans = 0;
vector<ll>dp(n);
dp[0] = 1;
for (ll i = 0; i < n; i++) {
for (ll x : gp[i]) {
dp[x] += dp[i];
}
ans += dp[i];
}
cout << ans << endl;
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
//signed _; cin >> _; while (_--)
solve();
}
# | 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... |