#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int N, l, r;
cin >> N;
int skipped = 0;
int ans = 0;
vector<pair<int,int> > tulips;
for (int i = 0; i < N; ++i){
cin >> l >> r;
tulips.push_back(make_pair(l,r));
}
int dp[N];
dp[0] = 1;
int maxi = 0;
for (int i = 1; i < N; ++i){
maxi = 0;
for (int j = 0; j < i; ++j){
if (j < i-tulips[i].first && i > j+tulips[j].second){
maxi = max(maxi, dp[j]);
}
}
dp[i] = 1 + maxi;
}
maxi = 0;
// for (int i = 0; i < N; ++i){
// cout<<dp[i]<<' ';
// }
// cout<<endl;
for (int i = 0; i < N; ++i ){
maxi = max(maxi, dp[i]);
}
cout<<maxi<<endl;
}
# | 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... |