#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<ll, ll>
#define fi first
#define sec second
const ll INF = 1e18;
vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, std::vector<int> E) {
int Q = (int)E.size(), N = (int)W.size();
vector<pii> objects;
for(int i = 0; i < N; i++) objects.push_back({W[i], B[i] - A[i]});
sort(objects.begin(), objects.end());
vector<long long> R(Q, 0);
for(int i = 0; i < Q; i++){
ll ans = 0;
for(int j = 0; j < N; j++) ans += A[j];
vector<ll> dp(N + 5, INF);
dp[0] = 0;
for(int j = 1; j < N; j++){
dp[j] = dp[j - 1];
if(objects[j].fi - objects[j - 1].fi <= E[i]) dp[j] = min(dp[j], (j == 1 ? 0LL : dp[j - 2]) + objects[j].sec + objects[j - 1].sec);
if(j >= 2 && objects[j].fi - objects[j - 2].fi <= E[i]) dp[j] = min(dp[j], (j == 2 ? 0LL : dp[j - 3]) + objects[j].sec + objects[j - 2].sec);
}
R[i] = dp[N - 1] + ans;
}
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... |