# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
830885 | Johann | Distributing Candies (IOI21_candies) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
int N, Q;
std::vector<int> distribute_candies(vi c, vi l, vi r, vi v)
{
N = sz(c);
Q = sz(l);
vi S(N, 0);
for (int q = 0; q < Q; ++q)
{
S[l[q]] += v[q];
S[++r[q]] -= v[q];
}
partial_sum(all(S), S.begin());
for (int i = 0; i < N; ++i)
S[i] = min(c[i], S[i]);
vector<int> ans;
for (ll x : S)
ans.push_back(x);
return ans;
}