# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
763839 | NK_ | Cat Exercise (JOI23_ho_t4) | C++17 | 367 ms | 70580 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>
using namespace std;
#define nl '\n'
struct DSU {
vector<int> e, mx; void init(int N, const vector<int>& A) { e = vector<int>(N, -1); mx = A; }
int get(int x) { return e[x] < 0 ? x : e[x] = get(e[x]); }
int getmx(int x) { return mx[get(x)]; }
bool unite(int x, int y) {
x = get(x), y = get(y);
if (x == y) return 0;
if (e[x] > e[y]) swap(x, y);
e[x] += e[y]; mx[x] = max(mx[x], mx[y]); e[y] = x; return 1;
}
};
using ll = long long;
const int LG = 20;
int main() {
cin.tie(0)->sync_with_stdio(0);
int N; cin >> N;
vector<int> A(N); for(auto& x : A) { cin >> x; --x; }
vector<int> P(N); for(int i = 0; i < N; i++) P[A[i]] = i;
vector<vector<int>> adj(N), ADJ(N);
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |