# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1019793 | TAhmed33 | Sličnost (COI23_slicnost) | C++98 | 1159 ms | 428572 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 long long ll;
pair <ll, ll> merge (pair <ll, ll> x, pair <ll, ll> y) {
if (x.first > y.first) return x;
if (x.first < y.first) return y;
return {x.first, x.second + y.second};
}
#define mid ((l + r) >> 1)
const int MAXN = 25'000'005;
int tl[MAXN], tr[MAXN], sum[MAXN], cnt;
pair <int, int> dp[MAXN];
int new_leaf (int x) {
cnt++; dp[cnt] = {0, 1};
return cnt;
}
int new_node (int l, int r) {
cnt++;
dp[cnt] = merge(dp[l], dp[r]);
tl[cnt] = l; tr[cnt] = r;
return cnt;
}
int build (int l, int r) {
if (l == r) {
return new_leaf(l);
} else {
return new_node(build(l, mid), build(mid + 1, r));
}
}
int update (int l, int r, int a, int b, int c, int node) {
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |