# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
412481 | tatyam | 도로 폐쇄 (APIO21_roads) | C++17 | 456 ms | 43188 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
컴파일 시 표준 에러 (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... |