# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
759054 | Desh03 | Two Currencies (JOI23_currencies) | C++17 | 1429 ms | 38020 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;
struct fenwick {
vector<pair<long long, int>> fenw;
int n;
fenwick(int n_) : n(n_) {
fenw.resize(n, {0, 0});
}
void upd(int i, int d, int d2) {
for (; i < n; i |= i + 1) fenw[i].first += d, fenw[i].second += d2;
}
pair<long long, int> qry(int i) {
pair<long long, int> s = {0, 0};
for (; i >= 0; i = (i & (i + 1)) - 1) s.first += fenw[i].first, s.second += fenw[i].second;
return s;
}
};
vector<vector<int>> g, up;
vector<int> in, out, dep;
int t;
const int lg = 17;
void dfs(int u) {
in[u] = t++;
for (int i = 1; i < lg; i++) up[i][u] = up[i - 1][up[i - 1][u]];
for (int v : g[u])
if (v ^ up[0][u])
up[0][v] = u, dep[v] = dep[u] + 1, dfs(v);
Compilation message (stderr)
# | 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... |