Advertisement
erfanul007

LOJ 1207

Sep 9th, 2021
1,219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct cmp {
  5.     bool operator() (int a, int b) const {
  6.         return a > b;
  7.     }
  8. };
  9.  
  10. int main(){
  11.     #ifdef ERFANUL007
  12.         clock_t tStart = clock();
  13.         freopen("input.txt", "r", stdin);
  14.         freopen("output.txt", "w", stdout);
  15.     #endif
  16.  
  17.     int t, cs = 0;
  18.     scanf("%d", &t);
  19.  
  20.     while(t--){
  21.         printf("Case %d: ", ++cs);
  22.         int n; scanf("%d", &n);
  23.         vector< int > shuru[n*2+2];
  24.         vector< int > sesh[n*2+2];
  25.         for(int i=1; i<=n; i++){
  26.             int l, r; scanf("%d %d", &l, &r);
  27.             shuru[l].push_back(i);
  28.             sesh[r].push_back(i);
  29.         }
  30.         bool show[n+2];
  31.         memset(show, 0, sizeof(show));
  32.         set< int, cmp> pq;
  33.         for(int i=1; i<=2*n; i++){
  34.             for(auto it : shuru[i]){
  35.                 pq.insert(it);
  36.             }
  37.             if(pq.size()){
  38.                 show[*pq.begin()] = 1;
  39.             }
  40.             for(auto it : sesh[i]){
  41.                 pq.erase(pq.find(it));
  42.             }
  43.         }
  44.         int ans = 0;
  45.         for(int i=1; i<=n; i++) if(show[i]) ans++;
  46.         printf("%d\n", ans);
  47.     }
  48.  
  49.  
  50.     #ifdef ERFANUL007
  51.         fprintf(stderr, "\n>>> Runtime : %.9f\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
  52.     #endif
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement