# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
40067 | minkank | Synchronization (JOI13_synchronization) | C++14 | 851 ms | 18432 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;
typedef pair<int, int> ii;
#define st first
#define nd second
const int N = 1e5 + 5;
int n, m, q, h[N], st[N], en[N], cur, last[N], res[N], it[N * 8];
bool check[2 * N];
vector<int> G[N];
vector<ii> E;
#define mid ((l + r) / 2)
void update(int node, int l, int r, int p, int val) {
if(p > r || p < l) return;
if(l == r) { it[node] += val; return; }
update(node << 1, l, mid, p, val);
update(node << 1 | 1, mid + 1, r, p, val);
int Left = it[node << 1], Right = it[node << 1 | 1];
if(en[Left] > en[Right]) it[node] = Left;
else it[node] = Right;
}
int find(int node, int l, int r, int p, int val) {
if(p < l) return 0;
if(r <= p && en[it[node]] < en[val]) return 0;
if(l == r) return it[node];
# | 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... |