Advertisement
zydhanlinnar11

Pahlawan Terhoki

May 5th, 2023
675
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5.     ios_base::sync_with_stdio(false);
  6.     cin.tie(NULL);
  7.     int n, q;
  8.     cin>>n>>q;
  9.     vector<int> pwr(n, 0);
  10.     vector<int> currteam(n, 0);
  11.     map<int, multiset<int>> teams;
  12.     multiset<int> hoki;
  13.     for(int i=0; i<n; i++) {
  14.         int team;
  15.         cin>>pwr[i]>>team;
  16.         teams[team].insert(pwr[i]);
  17.         currteam[i] = team;
  18.     }
  19.     for(auto i: teams)
  20.         hoki.insert(*i.second.rbegin());
  21.     for(int i=1; i<=q; i++) {
  22.         int hero, team;
  23.         cin>>hero>>team;
  24.         hero--;
  25.         hoki.erase(hoki.find(*teams[currteam[hero]].rbegin()));
  26.         teams[currteam[hero]].erase(teams[currteam[hero]].find(pwr[hero]));
  27.         if(!teams[currteam[hero]].empty())
  28.             hoki.insert(*teams[currteam[hero]].rbegin());
  29.         currteam[hero] = team;
  30.         if(!teams[currteam[hero]].empty())
  31.             hoki.erase(hoki.find(*teams[currteam[hero]].rbegin()));
  32.         teams[currteam[hero]].insert(pwr[hero]);
  33.         hoki.insert(*teams[currteam[hero]].rbegin());
  34.         cout<<"Query "<<i<<": "<<*hoki.begin()<<'\n';
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement