Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define ff first
- #define ss second
- int main()
- {
- int n;
- cin>>n;
- vector<pair<int, ll int>> sc(n);
- for(auto &[s, c]: sc) cin>>s>>c;
- set<ll int> sl;
- unordered_map<ll int, ll int> cnt;
- for(int i=0; i<n; i++)
- {
- sl.insert(sc[i].ff);
- cnt[sc[i].ff] = sc[i].ss;
- }
- while(sl.size())
- {
- auto s = *sl.begin();
- sl.erase(sl.begin());
- ll int x = (cnt[s]/2)*2;
- if(!x) continue;
- cnt[s] -= x;
- cnt[2*s] += x/2;
- sl.insert(2*s);
- }
- ll int ans = 0;
- for(auto [s, c]: cnt)
- ans += c;
- cout<<ans<<"\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement