Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- const ll mx = 1e5+10;
- vector<ll>RL[4*mx],RR[4*mx];
- ll arr[4*mx],brr[4*mx];
- set<ll>st;
- int n;
- void clr()
- {
- st.clear();
- for(int i=1;i<=2*n;i++)
- {
- RR[i].clear();
- RL[i].clear();
- arr[i]=0;
- brr[i]=0;
- }
- }
- int main()
- {
- int t,cnt=1;
- cin>>t;
- while(t--)
- {
- cin>>n;
- int l,r;
- clr();
- for(int i=1; i<=n; i++)
- {
- cin>>l>>r;
- RL[l].push_back(i);
- RR[r+1].push_back(i);
- brr[i]=0;
- }
- st.insert(0);
- int ans =0;
- for(int i=1; i<=2*n; i++)
- {
- for(auto &a: RL[i])
- st.insert(a);
- for(auto &a : RR[i])
- st.erase(a);
- arr[i]=*st.rbegin();
- brr[arr[i]]=1;
- }
- for(int i=1; i<=n; i++)
- {
- ans+=brr[i];
- }
- cout<<"Case "<<cnt++<<": ";
- cout<<ans<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment