#include "candies.h"
// #include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) {
bool fl = 0;
for(auto i : v)
{
if(i < 0)
fl = 1;
}
int n = c.size(), Q = l.size();
vector<int> s(n);
if(fl)
{
for(int it = 0; it < Q; it++)
{
for(int i = l[it]; i <= r[it]; i++)
{
s[i] += v[it];
s[i] = max(0, s[i]);
s[i] = min(c[i], s[i]);
}
}
}
else
{
int pref[n + 5] = {};
for(int it = 0; it < Q; it++)
{
pref[l[it]] += v[it];
pref[r[it] + 1] -= v[it];
}
for(int i = 0; i < n; i++)
{
pref[i] += (i == 0 ? 0 : pref[i - 1]);
s[i] += pref[i];
s[i] = max(0, s[i]);
s[i] = min(c[i], s[i]);
}
}
return s;
}
# | 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... |