#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll INF = 1e9;
int n, q;
vector<int> a, b, w;
ll get_ans(int d) {
ll tot = 0;
ll minDiff = INF;
int cnt = 0;
ll curr = 0;
for (int i = 0; i < n; i++) {
if (i > 0 && abs(w[i] - w[i-1]) > d) {
tot += curr;
if (cnt & 1) tot += minDiff;
curr = cnt = 0;
minDiff = INF;
}
cnt++;
curr += b[i];
minDiff = min(minDiff, (ll)(a[i] - b[i]));
}
tot += curr;
if (cnt & 1) tot += minDiff;
return tot;
}
vector<ll> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) {
a = A;
b = B;
w = W;
n = a.size();
q = E.size();
vector<tuple<int, int, int>> arr;
for (int i = 0; i < n; i++) {
arr.push_back({w[i], a[i], b[i]});
}
sort(arr.begin(), arr.end());
for (int i = 0; i < n; i++) {
w[i] = get<0>(arr[i]);
a[i] = get<1>(arr[i]);
b[i] = get<2>(arr[i]);
}
vector<ll> ans;
for (int i = 0; i < q; i++) {
ans.push_back(get_ans(E[i]));
}
return ans;
}