#include "candies.h"
#include <bits/stdc++.h>
#define ar array
#define all(x) x.begin(), x.end()
using namespace std;
typedef long long ll;
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 <ll> p(n + 1);
// 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++) {
p[l[i]] += v[i];
p[r[i] + 1] -= v[i];
}
for (int i = 1; i < n; i++)
p[i] += p[i - 1];
for (int i = 0; i < n; i++)
s[i] = min(p[i], (ll)c[i]);
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... |