#include<bits/stdc++.h>
using namespace std;
long long n,q,dp[200002],all;
struct node{long long w,c;}p[200002];
bool cmp(node a,node b){return a.c<b.c;}
std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A,std::vector<int> B, std::vector<int> E)
{
n=W.size();q=E.size();all=0;
std::vector<long long> R(q, 0);
for(int i=1;i<=n;i++) p[i]={W[i-1],A[i-1]-B[i-1]},all+=A[i-1];
sort(p+1,p+n+1,cmp);
for(int j=1;j<=q;j++)
{
long long d=E[j-1];
for(int i=1;i<=n;i++)
{
dp[i]=dp[i-1];
if(i>=2&&p[i].w-p[i-1].w<=d) dp[i]=max(dp[i],dp[i-2]+p[i].c+p[i-1].c);
if(i>=3&&p[i].w-p[i-2].w<=d) dp[i]=max(dp[i],dp[i-3]+p[i].c+p[i-2].c);
}
R.push_back(all-dp[n]);
}
return R;
}