std::vector<long long> calculate_costs(std::vector<int> W,std::vector<int> A,std::vector<int> B,std::vector<int> E) {
vector <long long> R;
for (int i=0;i<q;i++) {
//r.push_back(1);
dp[0][0]=W[0];
dp[0][1]=A[0];
dp[0][2]=INF;
for (int j=1;j<n;j++) {
dp[j][0]=min(dp[j-1][0],dp[j-1][2])+A[j];
dp[j][1]=min(dp[j-1][0],dp[j-1][2])+B[j];
if (w[j]-w[j-1]<=e[i]) dp[j][2]=dp[j-1][1]+B[j];
else dp[j][2]=INF;
}
R.push_back(min(dp[n-1][0],dp[n-1][2]));
}
return R;
}