#include <bits/stdc++.h>
#define l first
#define r second
using namespace std;
int solve1()
{
int K;
vector<pair<int, int>> Q;
cin >> K;
for (int i = 0; i < K; i++)
{
int L, R;
cin >> L >> R;
Q.push_back({L, R});
}
int v = Q[0].l;
++v;
return (K / v) + (K % v == 0 ? 0 : 1);
}
int amnt(int f, int i, int off)
{
if (i + 1 > off + i)
{
return f + 1;
}
return f;
}
int solve2()
{
int K;
vector<pair<int, int>> Q;
cin >> K;
vector<int> dp(K, 1);
for (int i = 0; i < K; i++)
{
int L, R;
cin >> L >> R;
Q.push_back({L, R});
}
reverse(Q.begin(), Q.end());
for (int i = 0; i < K; i++)
{
int idx = i + Q[i].l + 1;
if (i > 0)
dp[i] = max(dp[i], dp[i - 1]);
if (idx < K)
{
dp[idx] = dp[i] + 1;
}
}
for (int x : dp)
{
cout << x << " ";
}
return dp[K - 1];
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout << solve2();
}
# | 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... |