Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void solve()
- {
- int n;
- cin >> n;
- vector<ll> v(n);
- multiset<int> mt;
- for (auto &i : v)
- cin >> i;
- mt.insert(v[0]);
- ll sum = v[0];
- for (int i = 1; i < n; i++)
- {
- if (v[i] < *(mt.begin()))
- {
- sum += v[i];
- mt.insert(v[i]);
- }
- else
- {
- ll holder = *(mt.begin()) * 2;
- sum += *(mt.begin());
- mt.erase(mt.begin());
- mt.insert(holder);
- }
- }
- cout << mt.size() << " " << sum << '\n';
- for (auto &i : mt)
- cout << i << " ";
- cout << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment