Advertisement
erfanul007

LOJ 1089

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