#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;
vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E){
int N = W.size();
int Q = E.size();
vector<long long> costs(Q);
vector<int> idx(N);
iota(idx.begin(), idx.end(), 0);
sort(idx.begin(), idx.end(), [&](int i, int j) {
return B[i] < B[j];
});
if (N % 2 == 0) {
for(int b = 0; b < Q; b++){
long long cost = 0;
for (int i = 1; i < N; i+=2) {
cost += B[idx[i]] + B[idx[i-1]];
}
costs[b] = cost;
}
} else {
for(int b = 0; b < Q; b++){
long long cost = 0;
for (int i = 1; i < N-1; i+=2) {
cost += B[idx[i]] + B[idx[i-1]];
}
cost += A[idx[N-1]];
costs[b] = cost;
}
}
return costs;
}
# | 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... |