Submission #924858

#TimeUsernameProblemLanguageResultExecution timeMemory
924858Programmer123Distributing Candies (IOI21_candies)C++17
0 / 100
97 ms8960 KiB
#include "candies.h"

#include <bits/stdc++.h>

typedef std::vector<int> ivec;
#define int long long

ivec distribute_candies(ivec c, ivec l,
                        ivec r, ivec v) {
    int N = c.size();
    int Q = l.size();
    ivec ans(N);
    int diff[N + 1];
    for (int i = 0; i <= N; ++i) {
        diff[i] = 0;
    }
    for (int i = 0; i < Q; ++i) {
        diff[l[i]] += v[i];
        diff[r[i] + 1] -= v[i];
    }
    for (int i = 1; i <= N; ++i) {
        diff[i] += diff[i - 1];
        assert(diff[i] >= 0);
    }
    assert(diff[N] == 0);
    for (int i = 0; i < N; ++i) {
        ans[i] = std::min<signed>(diff[i], c[i]);
    }
    return ans;
}
#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...