#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
#define arr array
#define vec vector
const int N = 2e5 + 5;
int n;
arr<int, N> c;
vec<vec<int>> q;
struct Sgt {
arr<int, N> tr;
void upd(int l, int r, int x) {
for (int i = l; i <= r; i++) {
tr[i] += x;
tr[i] = min(tr[i], c[i]), tr[i] = max(tr[i], 0);
}
}
int qry(int i) {
return tr[i];
}
} sgt;
vec<int> distribute_candies(vec<int> _c, vec<int> _l, vec<int> _r, vec<int> _x) {
n = _c.size();
for (int i = 0; i < n; i++) c[i] = _c[i];
for (int i = 0; i < _l.size(); i++) {
int l = _l[i], r = _r[i], x = _x[i];
q.push_back({l, r, x});
}
for (vec<int> x : q)
sgt.upd(x[0], x[1], x[2]);
vec<int> ans;
for (int i = 0; i < n; i++) ans.push_back(sgt.qry(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... |