# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
412481 | tatyam | Road Closures (APIO21_roads) | C++17 | 456 ms | 43188 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
struct Edges{
multiset<int> w, w2;
ll sum = 0;
void add(int x){
sum += x;
w.insert(x);
}
void erase(int x){
if(auto p = w.find(x); p != w.end()){
w.erase(p);
sum -= x;
}
else{
w2.erase(w2.find(x));
}
}
pair<ll, vector<int>> topk_sum(int k, int deg){
while(w2.size() && w.size() < k){
auto p = prev(w2.end());
sum += *p;
w.insert(w.begin(), *p);
w2.erase(p);
}
while(w.size() > k){
auto p = w.begin();
sum -= *p;
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |