This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
using ll = long long ;
using pii = pair<ll , ll> ;
using i3 = tuple<ll , ll , ll> ;
const int N = 2e5+5 ;
const int MOD = 1e9+7 ;
int n ;
map<pii , bool> vis ;
struct Points {
int x , y ;
bool operator<(const Points &other) const {
if(y != other.y)
return y > other.y ;
else return x > other.x ;
}
};
vector<Points> point ;
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
cin >> n ;
for(int i=0;i<n;i++){
int x , y ; cin >> x >> y ;
point.push_back({x , y}) ;
}
sort(point.begin() , point.end());
int i = 0 , cnt = 0 , ans = 0 ;
while(cnt < n && i < n){
int curx = point[i].x , cury = point[i].y ;
if(vis[pii(curx , cury)]){
i++;
continue ;
}
ans++;
vis[pii(curx , cury)] = true ;
for(auto [x , y] : point){
if(abs(x - curx) > cury - y) continue ;
if(vis[pii(x , y)]) continue ;
vis[pii(x,y)] = true ;
cnt++;
}
i++;
}
cout << ans ;
}
# | 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... |