#include "candies.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) {
	int n=c.size(),q=l.size();
	vector<int> qu[n],ans(n);
	for (int i=0;i<q;i++)
		for (int j=l[i];j<=r[i];j++)
			qu[j].push_back(i);
	ll pre[q+1];
	for (int i=0;i<n;i++)
	{
		for(int j=0;j<=q;j++) pre[j]=0;
		for (int j:qu[i])
			pre[j+1]=v[j];
		ll mn=0, mx=0;
		for (int j=1;j<=q;j++)
			pre[j]+=pre[j-1], mx=max(mx,pre[j]), mn=min(mn,pre[j]);
		if (mx-mn<=c[i])
		{
			ans[i]=pre[q]-mn;
			continue;
		}
		mn=1e18, mx=0;
		for (int j=q;j>=0;j--)
		{
			ll pmn=mn;
			mx=max(mx,pre[j]), mn=min(mn,pre[j]);
			if (mx-mn>c[i])
			{
				if (mn==pmn)
					ans[i]=pre[q]-mn;
				else
					ans[i]=c[i]-mx+pre[q];
				break;
			}
		}
	}
	return ans;
}
| # | 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... |