Submission #1242468

#TimeUsernameProblemLanguageResultExecution timeMemory
1242468nibertDistributing Candies (IOI21_candies)C++20
0 / 100
58 ms8004 KiB
#include "candies.h"
#include <vector>
#include <algorithm>

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(), q = l.size();
    std::vector<int> prefix(n + 1, 0);
    std::vector<int> result(n, 0);

    for (int i = 0; i < q; i++) {
        prefix[l[i]] += v[i];
        prefix[r[i] + 1] -= v[i];
    }

    for (int i = 1; i < n; i++)
        prefix[i] += prefix[i - 1];

    for (int i = 0; i < n; i++)
        result[i] = std::min(c[i], std::max(0, prefix[i]));

    return result;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...