#include "candies.h"
#include <bits/stdc++.h>
#define ar array
#define all(x) x.begin(), x.end()
using namespace std;
struct segtree {
vector <ar <int, 2>> t;
int n;
void init(int sz) {
n = sz, sz += 5;
t.assign(sz << 2, {0, 0});
}
void ontop(ar <int, 2> a, ar <int, 2> b) {
ar <int, 2> res = a;
if (a[0] == 0) {
if (b[0] == 2) {
if (b[1] > 0) {
res = {3, b[1]};
}
} else {
res = b;
}
} else if (a[0] == 1) {
if (b[0] == 2) {
if (b[1] < 0) {
res = {4, b[1]};
}
} else {
res = b;
}
} else if (a[0] == 2) {
if (b[0] == 2) {
res[1] += b[1];
} else {
res = b;
}
} else if (a[0] == 3) {
if (b[0] == 2) {
if (a[1] + b[1] <= 0)
res = {0, 0};
else
res[1] += b[1];
} else {
res = b;
}
} else {
// if (b[0] == 2) {
// if ()
// } else {
// res = b;
// }
}
}
void push(int v, int l, int r) {
}
int ql, qr, qi, qx, qt;
void update(int v, int l, int r) {
if (ql <= l && r <= qr) {
}
}
};
vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) {
int n = c.size(), q = l.size();
vector<int> s(n), b(n);
// vector <ar <int, 2>> a(n);
// for (int i = 0; i < n; i++)
// a[i] = {c[i], i};
// sort(all(a));
for (int i = 0; i < q; i++) {
for (int j = l[i]; j <= r[i]; j++) {
s[j] += v[i];
s[j] = max(0, s[j]);
s[j] = min(c[j], s[j]);
}
}
return s;
}
# | 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... |