Advertisement
LEGEND2004

Intervals

Aug 20th, 2024
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.57 KB | None | 0 0
  1. #pragma GCC optimize("O3")
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. #define int long long
  6. #define double long double
  7. #define _FastIO ios_base::sync_with_stdio(0); cin.tie(0)
  8. #define F first
  9. #define S second
  10.  
  11. signed main()
  12. {
  13.     _FastIO;
  14.  
  15.     /*
  16.     2 8 3
  17.  
  18.     8 2 3
  19.     2 3 (+3 free time) 8
  20.  
  21.  
  22.     1 2 3 4 5
  23.  
  24.     5 4 3 2 1
  25.     1 2 3 5 4
  26.  
  27.     5 6 7
  28.  
  29.     7 5 6
  30.     5 6 7
  31.  
  32.     1 2 3 4
  33.     4 1 2 3
  34.     */
  35.     /*
  36.     // D
  37.     int n , m = 0 , s = 0 , x;
  38.     cin >> n;
  39.     while(n--){
  40.         cin >> x;
  41.         m = max(m , x);
  42.         s += x;
  43.     }
  44.     cout << max(s , m * 2) << '\n';
  45.     */
  46.  
  47.     /*
  48.     3
  49.     1 5
  50.     7 8
  51.     3 7
  52.  
  53.  
  54.     1 5
  55.     3 7
  56.     7 8
  57.  
  58.  
  59.  
  60.  
  61.     3
  62.     3 4
  63.     2 5
  64.     1 6
  65.  
  66.  
  67.     1 6
  68.     2 5
  69.     3 4
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.     */
  77.     /*
  78.     // E
  79.  
  80.     int n , x , y;
  81.     cin >> n;
  82.     vector<pair<int , int> > v;
  83.     for(int i = 0; i < n; i++){
  84.         cin >> x >> y;
  85.         v.push_back({x , y});
  86.     }
  87.     sort(v.begin() , v.end());
  88.  
  89.     int cnt = 0 , ans = 0;
  90.     priority_queue<int , vector<int> , greater<> > q;
  91.     q.push(v[0].S);
  92.  
  93.     for(int i = 1; i < n; i++){
  94.         while(!q.empty()){
  95.             if(q.top() < v[i].F)
  96.                 q.pop();
  97.             else
  98.                 break;
  99.         }
  100.         // queuedaki butun elementler >= v[i].F
  101.         ans += q.size();
  102.         q.push(v[i].S);
  103.     *}
  104.     cout << ans << '\n';
  105.     */
  106.     /*
  107.     1 9
  108.     10 20
  109.     9 11
  110.     */
  111.     /*
  112.     1 20
  113.     2 3
  114.     3 4
  115.     4 5
  116.     5 6
  117.     */
  118.  
  119.     /*5 2
  120.  
  121.     1 5
  122.     8 10
  123.     3 6
  124.     2 5
  125.     6 9
  126.  
  127.     1 5
  128.     6 9
  129.  
  130.     2 5
  131.     8 10
  132.     */
  133.     // 9 10
  134.     /*
  135.     1 2
  136.     2 4
  137.     1 10
  138.     */
  139.     // F
  140.     /*
  141.     int n , k , l , r;
  142.     cin >> n >> k;
  143.     vector<pair<int , int> > v;
  144.     for(int i = 0; i < n; i++){
  145.         cin >> l >> r;
  146.         v.push_back({r , l});
  147.     }
  148.     sort(v.begin() , v.end());
  149.     multiset<int> ms;
  150.     while(k--)
  151.         ms.insert(0);
  152.  
  153.     int ans = 0;
  154.     //  0  3 4 5 6
  155.     for(int i = 0; i < n; i++){
  156.         r = v[i].F , l = v[i].S;
  157.         // l - baslama , r - qurtarma
  158.         // eger kimse gire bilirse gonder onu
  159.         // bir nece neferi gondere bilirsense, sonradan bos olani gonder
  160.         // lower_bound >=
  161.         // upper_bound >
  162.         // --lower_bound <
  163.         // --upper_bound <=
  164.         auto it = ms.upper_bound(l);
  165.         if(it == ms.begin()) // heckim gede bilmir, hami doludur
  166.             continue;
  167.  
  168.         it--;
  169.         ms.erase(it);
  170.         ms.insert(r);
  171.         ans++;
  172.     }
  173.     cout << ans << '\n';
  174.     */
  175.  
  176. }
  177.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement