Submission
Status:
(-SSSSSSSSSSSSS)(-SSSSSSSSSS)(-SSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSSSSSS)(-SSSSSSSSSSSSSSSSSSSSS)
Subtask/Task Score:
{0/5}{0/7}{0/8}{0/12}{0/16}{0/28}{0/24}
Score: 0
User: Dormon
Problemset: แคง (Kang)
Language: cpp
Time: 0.163 second
Submitted On: 2025-06-15 10:00:53
#include <bits/stdc++.h>
std::vector<long long> capsize(std::vector<int> v, std::vector<int> B){
using namespace std;
using ll = long long;
/*
vector<ll> ans;
struct A {
ll key, val;
bool operator < (const A &o) const {
if (val != o.val) return val < o.val;
return key < o.key;
}
};
multiset<A> ms;
unordered_map<ll, ll> ump;
unordered_set<ll> use;
ll sum = 0ll;
for (auto e:v){
ump[e] += e;
sum += e;
}
for (auto [a, b]:ump)
ms.insert({a, b});
for (auto e:B){
if (sum <= 0ll) break;
sum += e;
if (use.count(e) == 0){
if (ump[e] == 0)
ump[e] = e;
else {
ms.erase(ms.find({e, ump[e]}));
ump[e] += e;
}
ms.insert({e, ump[e]});
}
else
sum -= e;
if (!ms.empty()){
auto it = prev(ms.end());
sum -= it->val;
use.insert(it->key);
ms.erase(it);
}
ans.push_back(max(0ll, sum));
}
int k = ans.size(), m = B.size();
while (k < m){
ans.push_back(0ll);
k++;
}
*/
return vector<ll>(B.size(), 0);
}