//#include "nile.h"
#include "bits/stdc++.h"
using namespace std;
std::vector<long long> calculate_costs(std::vector<int> w, std::vector<int> a , std::vector<int> b, std::vector<int> E) {
long long n = a.size() , q = E.size() , sum = accumulate(a.begin() , a.end() , 0LL);
vector<int> dif(n + 5);
vector<pair<int , int>> W;
for(int i = 0 ; i < n ; i++)
W.push_back({w[i] , i});
sort(W.begin() , W.end());
sort(w.begin() , w.end());
for(int i = 1 ; i <= n ; i++)
dif[i] = a[W[i - 1].second] - b[W[i - 1].second];
vector<long long> ans(q);
vector<pair<int , int>> e;
for(int i = 0 ; i < q ; i++)
e.push_back({E[i] , i});
sort(e.begin() , e.end());
multiset<long long> mx;
int j = 1;
vector<long long> dp(n + 5 , 0);
while(q--)
{
long long d = e.back().first , ine = e.back().second;
e.pop_back();
for(int i = 1 ; i <= n ; i++)
{
dp[i] = dp[i - 1];
while(j < i && abs(w[i - 1] - w[j - 1]) <= d)
mx.insert(dp[j - 1] + dif[j]) , j++;
dp[i] = max(dp[i] , dif[i] + *mx.rbegin());
}
ans[ine] = sum - dp[n];
}
return ans;
}