이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
# include <bits/stdc++.h>
# define int long long
# define vi vector<int>
# define pb push_back
# define pii pair<int, int>
# define fi first
# define se second
# define endl '\n'
# define jess ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
int n, x[10000005], y[10000005];
set<pii> s;
void solve() {
cin >> n;
bool ok=1;
int mx=0, mn=1e9;
for(int i=1; i<=n; i++) {
cin >> x[i] >> y[i];
if(y[i]!=1) ok=0;
mx=max(mx, y[i]);
mn=min(mn, y[i]);
}
if(ok) {
cout << n << endl;
return;
}
if((mx-mn)<=1) {
int cnt=0;
for(int i=1; i<=n; i++) {
if(y[i]==1) cnt++;
else {
if(y[i-1]!=1 && y[i+1]!=1) cnt++;
}
}
cout << cnt << endl;
return;
}
for(int i=1; i<=n; i++) {
s.insert({y[i], x[i]});
}
int ans=0;
while(!s.empty()) {
pii cur=*s.rbegin();
ans++;
vector<pii> v;
for(pii i : s) {
if(abs(i.se-cur.se)<=(cur.fi-i.fi)) {
v.pb(i);
}
}
for(pii i : v) s.erase(i);
}
cout << ans << endl;
}
signed main() {
jess;
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... |