Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct interval
- {
- int x, y, poz;
- };
- interval VI[200001];
- bool sol1[200001], sol2[200001];
- int Comp(interval a, interval b)
- {
- if(a.x!=b.x)
- return a.x<b.x;
- return a.y>b.y;
- }
- int main()
- {
- ios::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- int n, i, j;
- cin>>n;
- for(i=0; i<n; i++)
- {
- cin>>VI[i].x>>VI[i].y;
- VI[i].poz=i;
- }
- sort(VI, VI + n, Comp);
- int mx=VI[0].y;
- for(i=1; i<n; ++i)
- {
- if(VI[i].y<=mx)
- sol2[VI[i].poz]=1;
- mx=max(mx,VI[i].y);
- }
- int mn=VI[n-1].y;
- for(i=n-2; i>=0; --i)
- {
- if(VI[i].y>=mn)
- sol1[VI[i].poz]=1;
- mn=min(mn,VI[i].y);
- }
- for(i=0; i<n; i++)
- cout<<sol1[i]<<" ";
- cout<<'\n';
- for(i=0; i<n; i++)
- cout<<sol2[i]<<" ";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement