#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A, std::vector<int> B, std::vector<int> E) {
int N = W.size();
int Q = E.size();
vector<int> ord(N);
iota(ord.begin(), ord.end(), 0);
sort(ord.begin(), ord.end(), [&](int i, int j) {
if (W[i]==W[j]) return A[i]-B[i] > A[j]-B[j];
return W[i]<W[j];
});
vector<ll> ret;
for (int d : E) {
ll add = 0;
for (int i=0; i<N;) {
int j = i+1;
while (j<N && W[ord[j]] - W[ord[j-1]] <= d) j++;
ll sum = 0;
for (int k=i; k<j; k++) sum += B[ord[k]];
ll ans = LLONG_MAX;
if ((j-i) % 2 == 0) ans = sum;
else for (int k=i; k<j; k++) ans = min(ans, sum - B[ord[k]] + A[ord[k]]);
i=j;
add += ans;
}
ret.push_back(add);
}
return ret;
}
# | 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... |