#include <bits/stdc++.h>
#define pb push_back
#define fst first
#define snd second
#define fore(i,a,b) for(ll i=a,ggdem=b;i<ggdem;++i)
#define SZ(x) ((int)x.size())
#define ALL(x) x.begin(),x.end()
#define mset(a,v) memset((a),(v),sizeof(a))
#define FIN ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define imp(v) for(auto edu:v)cout<<edu.fst<<","<<edu.snd<<" "; cout<<"\n"
using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;
//a
int main(){FIN;
ll n; cin>>n;
vector<ii>a(n),b;
fore(i,0,n)cin>>a[i].fst>>a[i].snd;
sort(ALL(a));
fore(i,0,n){
if(SZ(b)&&b.back().fst==a[i].fst)b.pop_back();
b.pb(a[i]);
}
// cout<<SZ(b)<<"\n"; //sb1
a=b; n=SZ(a);
ll p=0;
fore(i,0,n)if(a[i].snd>a[p].snd)p=i;
// imp(a);
// cout<<p<<"\n";
ll e=a[p].snd,d=a[p].fst;
ll res=1;
// cout<<"left\n";
for(ll i=p-1;i>=0;i--){
e-=abs(d-a[i].fst),d=a[i].fst;
// cout<<i<<": "<<e<<" "<<a[i].snd<<"\n";
if(e<a[i].snd)res++,e=a[i].snd;
}
e=a[p].snd,d=a[p].fst;
// cout<<"right\n";
fore(i,p+1,n){
e-=abs(d-a[i].fst),d=a[i].fst;
// cout<<i<<": "<<e<<" "<<a[i].snd<<"\n";
if(e<a[i].snd)res++,e=a[i].snd;
}
cout<<res<<"\n";
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
29 ms |
4656 KB |
Output is correct |
3 |
Correct |
41 ms |
5328 KB |
Output is correct |
4 |
Correct |
99 ms |
7764 KB |
Output is correct |
5 |
Correct |
52 ms |
5468 KB |
Output is correct |
6 |
Correct |
114 ms |
18116 KB |
Output is correct |
7 |
Correct |
118 ms |
12748 KB |
Output is correct |
8 |
Correct |
106 ms |
8284 KB |
Output is correct |
9 |
Correct |
80 ms |
8280 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
348 KB |
Output is correct |
7 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
8 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
348 KB |
Output is correct |
7 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
8 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
29 ms |
4656 KB |
Output is correct |
3 |
Correct |
41 ms |
5328 KB |
Output is correct |
4 |
Correct |
99 ms |
7764 KB |
Output is correct |
5 |
Correct |
52 ms |
5468 KB |
Output is correct |
6 |
Correct |
114 ms |
18116 KB |
Output is correct |
7 |
Correct |
118 ms |
12748 KB |
Output is correct |
8 |
Correct |
106 ms |
8284 KB |
Output is correct |
9 |
Correct |
80 ms |
8280 KB |
Output is correct |
10 |
Correct |
0 ms |
348 KB |
Output is correct |
11 |
Correct |
0 ms |
348 KB |
Output is correct |
12 |
Correct |
0 ms |
348 KB |
Output is correct |
13 |
Correct |
0 ms |
348 KB |
Output is correct |
14 |
Correct |
1 ms |
348 KB |
Output is correct |
15 |
Correct |
0 ms |
348 KB |
Output is correct |
16 |
Incorrect |
0 ms |
348 KB |
Output isn't correct |
17 |
Halted |
0 ms |
0 KB |
- |