Advertisement
Ankit_132

D

Oct 8th, 2023
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.75 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll     long long
  6. #define ff     first
  7. #define ss     second
  8.  
  9. int main()
  10. {
  11.     int n;
  12.     cin>>n;
  13.  
  14.     vector<pair<int, ll int>> sc(n);
  15.     for(auto &[s, c]: sc)   cin>>s>>c;
  16.  
  17.     set<ll int> sl;
  18.  
  19.     unordered_map<ll int, ll int> cnt;
  20.  
  21.     for(int i=0; i<n; i++)
  22.     {
  23.         sl.insert(sc[i].ff);
  24.         cnt[sc[i].ff] = sc[i].ss;
  25.     }
  26.  
  27.     while(sl.size())
  28.     {
  29.         auto s = *sl.begin();
  30.         sl.erase(sl.begin());
  31.  
  32.         ll int x = (cnt[s]/2)*2;
  33.  
  34.         if(!x)      continue;
  35.  
  36.         cnt[s] -= x;
  37.         cnt[2*s] += x/2;
  38.  
  39.         sl.insert(2*s);
  40.     }
  41.  
  42.     ll int ans = 0;
  43.  
  44.     for(auto [s, c]: cnt)
  45.         ans += c;
  46.  
  47.     cout<<ans<<"\n";
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement