Advertisement
tepyotin2

Movie Festival II

Jun 2nd, 2025
625
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. typedef long long ll;
  6.  
  7. struct Movie{
  8.     ll start;
  9.     ll end;
  10.     bool operator>(const Movie &a) const{
  11.         if(end == a.end){
  12.             return start>a.start;
  13.         }
  14.         return end>a.end;
  15.     };
  16. };
  17.  
  18. int n, k;
  19. multiset<Movie, greater<Movie>> mv;
  20. int ans;
  21.  
  22. int main(){
  23.     //freopen("moviefestivalII.in", "r", stdin);
  24.    
  25.     cin >> n >> k;
  26.     Movie check;
  27.     for(int i=0; i<n; i++){
  28.         ll a, b;
  29.         cin >> a >> b;
  30.         mv.insert({a, b});
  31.         //if(check.end<b){
  32.             //check.start = a;
  33.             //check.end = b;
  34.         //}
  35.     }
  36.     check = *mv.begin();
  37.     //for(Movie i: mv){
  38.         //cout << i.start << ", " << i.end << '\n';
  39.     //}
  40.     //Movie c;
  41.     //c.end = 3;
  42.     //auto i = mv.lower_bound(c);
  43.     //Movie r = *i;
  44.     //cout << r.start << ", " << r.end << '\n';
  45.     //if(i == mv.end()) cout << "HI" << '\n';
  46.     //cout << check.start << ", " << check.end << '\n';
  47.     for(int j=0; j<k; j++){
  48.         //cout << check.start << ", " << check.end << '\n';
  49.         auto it = mv.find(check);
  50.         while(it!=mv.end()){
  51.             ans++;
  52.             Movie c;
  53.             c.end = (*it).start;
  54.             auto next = mv.lower_bound(c);
  55.             //cout << (*next).start << ", " << (*next).end << '\n';
  56.             mv.erase(it);
  57.             it = next;
  58.         }
  59.         //for(Movie i: mv){
  60.             //cout << i.start << ", " << i.end << '\n';
  61.         //}
  62.         check = *mv.begin();
  63.     }
  64.     cout << ans << '\n';
  65.    
  66.     return 0;
  67. }
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement