# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1147276 | Math4Life2020 | Weirdtree (RMI21_weirdtree) | C++20 | 0 ms | 0 KiB |
#include "weirdtree.h"
#include <bits/stdc++.h>
using namespace std;
long long h1[5e5];
void initialise(int N, int Q, int h0[]) {
for (long long i=0;i<N;i++) {
h1[i+1]=h0[i];
}
}
void cut(int l, int r, int k) {
while (k>0) {
long long xloc = -1;
long long mval = 0;
for (long long i=l;i<=r;i++) {
if (h1[i]>mval) {
mval = h1[i];
xloc = i;
}
}
if (xloc==-1) {
break;
}
h1[xloc]--;
k--;
}
}
void magic(int i, int x) {
h1[i]=x;
}
long long inspect(int l, int r) {
long long vf = 0;
for (long long i=l;i<=r;i++) {
vf += h1[i];
}
return vf;
}