#include <vector>
#include <algorithm>
using namespace std;
vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v){
int n = c.size(), q = r.size();
vector<int> prefix(n + 1); // one extra to handle right + 1 safely
for (int i = 0; i < q; i++){
int left = l[i], right = r[i], val = v[i];
prefix[left] += val;
prefix[right + 1] -= val; // safe because prefix is size n + 1
}
// Build prefix sums
for (int i = 1; i < n; i++) {
prefix[i] += prefix[i - 1];
}
// Final answer
vector<int> result(n);
for (int i = 0; i < n; i++)
result[i] = min(c[i], max(0, prefix[i]));
return result;
}
# | 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... |