rt.
WA 20个
#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);\
cin.tie(0), cout.tie(0)
#define int unsigned long long
using namespace std;
const int kMaxN = 1e5 + 5;
int n;
pair<int, int> slime[kMaxN];
int ans;
unordered_map<int, int> t;
signed main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> slime[i].first >> slime[i].second;
t[slime[i].first] = slime[i].second;
}
sort(slime + 1, slime + n + 1);
for (int i = 1; i <= n; i++) {
while (t[slime[i].first] >= 2) {
t[slime[i].first] = slime[i].second & 1;
t[slime[i].first *= 2] += (slime[i].second /= 2);
// cout << slime[i].second << '\n';
}
}
for (auto i : t) {
ans += i.second;
// cout << i.first << ' ' << i.second << '\n';
}
cout << ans << '\n';
return 0;
}