# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1161567 | Aviansh | Swapping Cities (APIO20_swap) | C++20 | 2094 ms | 8324 KiB |
#include "swap.h"
#include <bits/stdc++.h>
using namespace std;
struct dsu{
vector<int>root;
vector<int>siz;
vector<int>valtime;
vector<int>lastroot;
dsu(int n){
root = vector<int>(n);
iota(root.begin(),root.end(),0);
siz=vector<int>(n,1);
valtime = vector<int>(n,1e9);
lastroot = vector<int>(n,-1);
}
void makeVal(int x, int tim){
x=findRoot(x);
valtime[x]=min(valtime[x],tim);
}
bool unite(int x, int y, int tim){
x=findRoot(x);
y=findRoot(y);
//cout << "turned into " << x << " " << y << "\n";
if(x==y){
makeVal(x,tim);
//cout << "cycle found\n";
return 0;
# | 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... |