#include <iostream>
#include <vector>
using namespace std;
std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l,
                                    std::vector<int> r, std::vector<int> v) {
    // int n = c.size();
    // vector<int> prefix(n + 1, 0);
    // int numQueries = l.size();
    // for (int i = 0; i < numQueries; i++) {
    //     int left = l[i], right = r[i], value = v[i];
    //     prefix[left] += value;
    //     prefix[right + 1] -= value;
    // }
    // for (int i = 1; i <= n; i++) {
    //     prefix[i] += prefix[i - 1];
    // }
    // vector<int> res(n);
    // for (int i = 0; i < n; i++) {
    //     res[i] = min(c[i], prefix[i]);
    // }
    // return res;
    int n = c.size();
    vector<int> res(n);
    for (int i = 0; i < (int)l.size(); i++) {
        int left = l[i], right = r[i], value = v[i];
        for (int j = left; j <= right; j++) {
            res[j] = max(0, min(c[j], value + res[j]));
        }
    }
    return res;
}
| # | 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... |