# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
873512 | gggkik | 통행료 (APIO13_toll) | C++14 | 2570 ms | 27512 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int MXN = 1e5+5;
using pii = pair<int,int>;
using ll = long long;
struct EDGES{int a,b,c;};
bool operator<(const EDGES &i, const EDGES &j){
return tie(i.a,i.b,i.c)<tie(j.a,j.b,j.c);
}
struct dsu{
vector<int> par;
void init(int x){
par.resize(x+1);
iota(par.begin(),par.end(),0);
}
int find(int x){
return par[x]-x?par[x]=find(par[x]):x;
}
void u(int a,int b){
a = find(a), b = find(b);
if(a!=b) par[a] = b;
}
};
vector<EDGES> build_mst(int n, vector<EDGES> edges){
dsu uf; uf.init(n);
vector<EDGES> ret;
for(auto &i : edges){
int a = uf.find(i.a), b = uf.find(i.a);
if(a!=b) {
uf.u(a,b);
# | 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... |