제출 #434976

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
4349762021-06-22 17:18:46model_code사탕 분배 (IOI21_candies)C++17
100 / 100
783 ms35772 KiB
#include "candies.h"
#include <algorithm>
#include <vector>
struct SegTree {
int n;
std::vector<long long> mini, maxi, sums, vals;
SegTree(int _n): n(_n) {
mini.assign(n * 2, 0);
maxi.assign(n * 2, 0);
sums.assign(n * 2, 0);
vals.assign(n, 0);
}
void update(int idx, int l, int r, int x, int val) {
if (l == x && r == x + 1) {
mini[idx] = maxi[idx] = sums[idx] = val;
return;
}
int mid = (l + r) >> 1;
int lidx = idx + 1, ridx = idx + (mid - l) * 2;
if (x < mid) update(lidx, l, mid, x, val);
else update(ridx, mid, r, x, val);
mini[idx] = std::min(mini[lidx] + sums[ridx], mini[ridx]);
maxi[idx] = std::max(maxi[lidx] + sums[ridx], maxi[ridx]);
sums[idx] = sums[lidx] + sums[ridx];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...