Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. int main(){
  2.     std::ios::sync_with_stdio(false);
  3.     int N, K;
  4.     cin >> N >> K;
  5.     vector<pair<long,long>> tracks(N);
  6.     for(int i = 0; i < N; i++){
  7.         cin >> tracks[i].first >> tracks[i].second;
  8.     }
  9.     multiset<long, greater<long>> slotsUsed;
  10.     sort(tracks.begin(), tracks.end(), [](const pair<long,long> &p1, const pair<long,long> &p2){
  11.         return p1.second < p2.second;
  12.     });
  13.     long done = 0;
  14.  
  15.     for(int i = 0; i < N; i++){
  16.         multiset<long>::iterator it = slotsUsed.lower_bound(tracks[i].first);
  17.         if(it != slotsUsed.end()){
  18.             slotsUsed.erase(it);
  19.         }
  20.         if(slotsUsed.size() < K){
  21.             slotsUsed.insert(tracks[i].second);
  22.             done++;
  23.         }
  24.     }
  25.     cout << done << endl;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement