#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define rep(i,a,b) for (int i = a; i <= b; i++)
#define per(i,a,b) for (int i = a; i >= b; i--)
#define fi first
#define se second
#define pii pair<int,int>
#define pb push_back
const int MAXN = 1e6+10;
const int INF = 1e18 + 5;
pii a[MAXN],x[MAXN][2];
bool ok[MAXN];
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(nullptr);
int n;cin >> n;
rep(i,1,1e6) x[i][1].fi = INF;
rep(i,1,n) {
cin >> a[i].fi >> a[i].se;
x[a[i].fi][0] = max(x[a[i].fi][0], {a[i].se,i});
x[a[i].fi][1] = min(x[a[i].fi][1], {a[i].se,i});
}
set<int> ys;
rep(i,1,1e6) {
if (!x[i][0].fi) continue;
rep(k,0,1) {
if (ys.find(x[i][k].fi) == ys.end()) {
ok[x[i][k].se] = 1;
ys.insert(x[i][k].fi);
}
}
}
ys.clear();
per(i,1e6,1) {
if (!x[i][0].fi) continue;
rep(k,0,1) {
if (ys.find(x[i][k].fi) == ys.end()) {
ok[x[i][k].se] = 1;
ys.insert(x[i][k].fi);
}
}
}
rep(i,1,n) cout << ok[i];
cout << '\n';
return 0;
}
# | 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... |