# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
634667 | mrkhan2000 | Monthly railway pass (LMIO18_menesinis_bilietas) | C++17 | 642 ms | 71508 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>
#define ll long long
#define MOD 1000000007
using namespace std;
class union_find {
private:
int N;
int components;
vector<int> data;
vector<int> deg;
public:
union_find(int N) : N(N), components(N), data(N, -1), deg(N, 0) {}
int find(int u) {
if(u >= N) return -1;
while(data[u] >= 0) u = data[u];
return u;
}
bool unite(int u, int v) {
if(u >= N || v >= N) return false;
u = find(u);
v = find(v);
if(u == v) return false;
if(data[u] > data[v]) swap(u, v);
data[u] += data[v];
data[v] = u;
--components;
return true;
}
int size(int u) { return -data[find(u)]; }
# | 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... |