#include <bits/stdc++.h>
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("O3,unroll-loops,fast-math")
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
//#define int long long
using namespace std;
//using namespace __gnu_pbds;
constexpr int maxn = 1e7 + 1;
int a[maxn], b[maxn];
void solve(){
int n;
cin >> n;
int cnt = 0;
/*tree<
int,
null_type,
less_equal<int>,
rb_tree_tag,
tree_order_statistics_node_update> s;*/
int mn = INT_MAX, mx = INT_MIN;
for(int i = 1; i <= n; i++) {
int x, y;
cin >> x >> y;
mx = max(mx, y + x);
a[i] = mx;
b[i] = x - y;
}
for(int i = n; i >= 1; i--) {
if(i == n) {
if(a[i] > a[i - 1]) {
cnt++;
}
}
else if(i == 1) {
if(mn > b[i]) {
cnt++;
}
}
else{
if(a[i] > a[i - 1] && mn > b[i]) {
cnt++;
}
}
mn = min(mn, b[i]);
}
cout << cnt;
}
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int tt = 1;
//cin >> tt;
while(tt--) {
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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |