#include<bits/stdc++.h>
using namespace std;
#define int long long
bool cmp(pair<int , int> a , pair<int , int> b){
return a.second < b.second;
}
signed main(){
int n;cin>>n;
vector<pair<int , int>> t(n);
vector<int> pos_x(1e6 + 1) , pos_y(1e6+1);
for(int i = 0 ; i < n; i++){
int x , y;
cin>>x>>y;
t[i] = {x , y};
pos_x[x]++;
pos_y[y]++;
}
vector<int> built_x(1e6+1 , 0) , built_y(1e6+1 , 0);
vector<pair<int , int>> ot;
for(int i = 0 ; i< n ;i++){
int x = t[i].first , y = t[i].second;
int temp = max(0LL , pos_x[x]-1);
temp += max(0LL , pos_y[y] - 1);
ot.push_back({temp , i});
}
sort(ot.begin() , ot.end());
vector<int> ans(n);
for(int i = 0 ; i < n ;i++){
int idx = ot[i].second;
int opt = ot[i].first;
int x = t[i].first;
int y = t[i].second;
if(built_x[x] >= 2 || built_y[y] >= 2) continue;
built_x[x]++;
built_y[y]++;
ans[idx] = 1;
}
for(int i = 0 ; i < n ; i++){
cout<<ans[i];
}
}
| # | 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... |