Submission #569739

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
5697392022-05-27 17:11:19ryangohcaSwapping Cities (APIO20_swap)C++17
0 / 100
1229 ms30532 KiB
#include "swap.h"
#include <bits/stdc++.h>
using namespace std;
int p[100001], pweight[100001][20], st[100001], en[100001], lineWeight[100001][20], twok[100001][20];
void init(int N){
iota(p, p+N, 0);
iota(st, st+N, 0);
iota(en, en+N, 0);
for (int i = 0; i < N; i++) lineWeight[i][0] = 2e9;
memset(twok, -1, sizeof twok);
memset(pweight, -1, sizeof pweight);
}
int fs(int x){
if (p[x] == x) return x;
return p[x] = fs(p[x]);
}
void ms(int x, int y, int w){
int px = fs(x), py = fs(y);
if (px == py){
st[px] = en[px] = -1;
lineWeight[px][0] = min(lineWeight[px][0], w);
return;
}
p[py] = px; // px -> py
//cout << px << ' ' << py << ' ' << w << endl;
twok[py][0] = px;
pweight[py][0] = w;
if (st[px] != -1 && st[py] != -1){
if ((st[px] == x || en[px] == x) && (st[py] == y || en[py] == y)){
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...