#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> distribute_candies(vector<int> C, vector<int> L, vector<int> R, vector<int> V)
{
long long N = C.size(), Q = L.size();
vector<int> ans(N);
vector<long long> heights(Q);
vector<vector<long long>> Tab;
for (long long i = 0; i < Q; i++)
{
Tab.push_back({L[i], i, V[i]});
Tab.push_back({R[i] + 1, i, 0});
}
sort(Tab.begin(), Tab.end());
long long buff = 0;
for (long long i = 0; i < N; i++)
{
while (buff < Tab.size() && Tab[buff][0] == i)
{
heights[Tab[buff][1]] = Tab[buff][2];
buff++;
}
long long maxx = 0, minn = 0, cur = 0;
for (int j = 0; j < Q; j++)
{
cur += heights[j];
cur = max(cur, 0LL);
cur = min(cur, (long long)C[i]);
ans[i] = cur;
}
}
return ans;
}
/*int main()
{
int N, Q;
cin >> N >> Q;
vector<int> C(N), L(Q), R(Q), V(Q);
for (int i = 0; i < N; i++)
cin >> C[i];
for (int i = 0; i < Q; i++)
cin >> L[i] >> R[i] >> V[i];
vector<int> ans = distribute_candies(C, L, R, V);
for (int i = 0; i < ans.size(); i++)
cout << ans[i] << ' ';
}*/
# | 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... |