# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
634677 | mrkhan2000 | Monthly railway pass (LMIO18_menesinis_bilietas) | C++17 | 542 ms | 65284 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> sz, pa;
public:
union_find(int N) : N(N), components(N), sz(vector<int>(N,1)), pa(vector<int>(N)) {
iota(pa.begin(), pa.end(), 0);
}
void unite(int u, int v) {
if(u >= N || v >= N) return;
u = find(u);
v = find(v);
if(u == v) return;
if(sz[u] < sz[v]) swap(u, v);
sz[u] += sz[v];
pa[v] = u;
--components;
}
int find(int u) {
if(u >= N) return -1;
while(pa[u]^u) u = pa[u];
return u;
}
int _size(int 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... |