#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll INF = (int)5e18;
vector<ll> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) {
int Q = (int)E.size();
int n = (int)W.size();
vector<array<int,3>> all(n);
for (int i=0;i<n;i++) {
all[i] = {W[i],A[i],B[i]};
}
sort(all.begin(),all.end());
for (int i=0;i<n;i++) {
W[i] = all[i][0]; A[i] = all[i][1]; B[i] = all[i][2];
}
W.insert(W.begin(),0); A.insert(A.begin(),0); B.insert(B.begin(),0);
vector<ll> R(Q, 0);
for (int t=0; t<Q;t++) {
int D = E[t];
vector<ll> dp(n+1,0);
dp[1] = A[1];
for (int i=2;i<=n;i++) {
dp[i] = dp[i-1] + A[i];
if (abs(W[i]-W[i-1]) <= D) dp[i] = min(dp[i], dp[i-2] + B[i] + B[i-1]);
if (i > 2 and abs(W[i]-W[i-2]) <= D) dp[i] = min(dp[i], dp[i-3] + B[i-2] + A[i-1] + B[i]);
}
R[t] = dp.back();
}
return R;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |