Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <cstdio>
- #include <algorithm>
- #include <vector>
- #include <set>
- using namespace std;
- int sol ;
- struct event{
- int x , ind, tip ;
- event( int _x = 0, int _ind = 0, int _tip = 0 ){
- x = _x; ind = _ind; tip = _tip;
- }
- };
- vector <event> v ;
- int a , b , n ;
- bool cmp ( event a , event b ){
- if ( a.x == b.x ) return a.ind < b.ind ;
- else return a.x < b.x ;
- }
- set <int> s ;
- void checkset (){
- if ( s.size() == 1 ) sol++;
- }
- int t ;
- int main () {
- scanf("%d",&t);
- for( int x = 0 ; x < t ; ++x ){
- scanf("%d",&n);
- for( int i = 0 ; i < n ; ++i ){
- scanf("%d%d",&a,&b);
- v.push_back(event(a,i,0));
- v.push_back(event(b,i,1));
- }
- sort ( v.begin(), v.end(),cmp);
- for( int i = 0 ; i < v.size () ; ++i ){
- if ( v[i].tip == 0 ){
- s.insert(v[i].ind);
- }
- else{
- s.erase(v[i].ind);
- }
- checkset();
- }
- printf("%d\n",sol);
- v.clear();
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment