#include "weirdtree.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const ll N = 1 << 17;
ll a[N];
void initialise(int n, int q, int h[]) {
for (ll i = 1; i <= n; i++) a[i] = h[i];
}
vector<int> b;
void cut(int l, int r, int k) {
b.clear();
for (ll i = l; i <= r; i++) b.push_back(i);
sort(b.begin(), b.end(), [&](const int x, const int y)-> bool {
if (a[x] != a[y]) return a[x] > a[y];
return x < y;
});
ll sm = 0, cnt = 0;
for (int i = 0; i < b.size(); i++) {
cnt++;
sm += a[b[i]];
if (i + 1 == b.size() || sm - cnt * a[b[i + 1]] >= k) {
ll p = (sm - k + cnt - 1) / cnt;
ll q = k - (sm - p * cnt);
if (sm < k) {
p = 0, q = 0;
}
for (ll j = 0; j < q; j++) a[b[j]] = p - 1;
for (ll j = q; j <= i; j++) a[b[j]] = p;
return;
}
}
}
void magic(int i, int x) {
a[i] = x;
}
long long int inspect(int l, int r) {
ll ans = 0;
for (ll i = l; i <= r; i++) {
ans += a[i];
}
return ans;
}
# | 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... |