Advertisement
ke_timofeeva7

Носки, нет блин трусы

Jun 4th, 2021
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <sstream>
  4. #include <cmath>
  5. #include <algorithm>
  6. #include <memory.h>
  7. #include <stdio.h>
  8. #include <stack>
  9. #include <deque>
  10. #include <queue>
  11. #include <vector>
  12. #include <set>
  13. #include <iterator>
  14. #include <map>
  15. #include <iomanip>
  16. #include <unordered_set>
  17. #define int long long
  18. #define sp system("pause")
  19. #define pb push_back
  20. #define double long double
  21. #define endl "\n"
  22. #define un unsigned
  23. #define INF 1000000009
  24. #define pii pair<int, int>
  25. #define all(v) v.begin(), v.end()
  26. using namespace std;
  27.  
  28. struct S
  29. {
  30.     int x;
  31.     int co;
  32.     int id;
  33. };
  34.  
  35. bool cmp(S a, S b)
  36. {
  37.     if (a.x != b.x)
  38.     {
  39.         return a.x < b.x;
  40.     }
  41.     return a.co > b.co;
  42. }
  43.  
  44. bool cmp1(pair<int, int> a, pair<int, int> b)
  45. {
  46.     return a.second < b.second;
  47. }
  48.  
  49. signed main()
  50. {
  51.     int L, n, t, r, l;
  52.     cin >> L >> n >> t;
  53.  
  54.     vector <S> vc(2 * n + t);
  55.     vector <pair <int, int>> ans(t);
  56.  
  57.     int i;
  58.  
  59.     for (i = 0; i < 2 * n; i += 2)
  60.     {
  61.         cin >> r >> l;
  62.         vc[i].x = min(r, l);
  63.         vc[i].co = 1;
  64.         vc[i].id = -1;
  65.         vc[i + 1] = { max(r, l), -1, -1 };
  66.     }
  67.  
  68.     int j = 0;
  69.  
  70.     for (; i < 2 * n + t; i++)
  71.     {
  72.         cin >> r;
  73.         vc[i] = { r, 0, j };
  74.         j++;
  75.     }
  76.  
  77.     sort(vc.begin(), vc.end(), cmp);
  78.  
  79.     int cnt = 0;
  80.     j = 0;
  81.  
  82.     for (i = 0; i < 2 * n + t; i++)
  83.     {
  84.         if (vc[i].co == 1)
  85.         {
  86.             cnt++;
  87.         }
  88.         else if (vc[i].co == 0)
  89.         {
  90.             ans[j].first = cnt;
  91.             ans[j].second = vc[i].id;
  92.             j++;
  93.         }
  94.         else
  95.         {
  96.             cnt--;
  97.         }
  98.     }
  99.  
  100.     sort(ans.begin(), ans.end(), cmp1);
  101.  
  102.     for (int i = 0; i < t; i++)
  103.     {
  104.         cout << ans[i].first << endl;
  105.     }
  106.  
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement