shamiul93

imran

May 5th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define endl "\n"
  6. #define maxn 100005
  7. #define i64 long long
  8. #define mod 1000000007
  9.  
  10. #define pf(n) printf("%d\n", n)
  11. #define sf(n) scanf("%d", &n)
  12. #define ms(n, m) memset(n, m, sizeof(n))
  13.  
  14. map <int, int> mp;
  15. map <int, bool> mark;
  16. vector < pair<int, int> > vec(50000);
  17. int n, m, l, r, idx, counter, seg[5 * maxn], arr[5 * maxn], qrr[50000];
  18.  
  19. int main()
  20. {
  21.     int t, cnt = 1;
  22.     sf(t);
  23.  
  24.     while(t--)
  25.     {
  26.         ms(seg, 0), ms(arr, 0);
  27.         sf(n), sf(m), counter = 0, idx = 0;
  28.  
  29.         for(int i = 0; i < n; ++i)
  30.         {
  31.             sf(vec[i].first), sf(vec[i].second);
  32.  
  33.             if(!mark[vec[i].first])
  34.                 arr[idx++] = vec[i].first, mark[vec[i].first] = true;
  35.             if(!mark[vec[i].second])
  36.                 arr[idx++] = vec[i].second, mark[vec[i].second] = true;
  37.         }
  38.  
  39.         for(int i = 0; i < m; ++i)
  40.         {
  41.             sf(qrr[i]);
  42.  
  43.             if(!mark[qrr[i]])
  44.                 arr[idx++] = qrr[i], mark[qrr[i]] = true;
  45.         }
  46.  
  47.         sort(arr, arr + idx);
  48.  
  49.         for(int i = 0; i < idx; ++i)
  50.             mp[arr[i]] = counter, counter += 2;
  51.  
  52.         for(int i = 0; i < n; ++i)
  53.         {
  54.             ++seg[mp[vec[i].first]];
  55.             --seg[mp[vec[i].second] + 1];
  56.         }
  57.  
  58.         for(int i = 1; i < counter; ++i)
  59.             seg[i] += seg[i - 1];
  60.  
  61.         printf("Case %d:\n", cnt++);
  62.  
  63.         for(int i = 0; i < m; ++i)
  64.             pf(seg[mp[qrr[i]]]);
  65.  
  66.         mp.clear();
  67.         vec.clear();
  68.         mark.clear();
  69.     }
  70.  
  71.     /*cin.clear();
  72.     cin.ignore();
  73.     cin.get();*/
  74.     return 0;
  75. }
Add Comment
Please, Sign In to add comment