#include <bits/stdc++.h>
using ll = long long;
using namespace std;
struct el{
ll w, a, b;
};
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();
vector<el> v(n);
for(int i = 0; i<n; i++) v[i] = el{W[i], A[i], B[i]};
sort(v.begin(), v.end(), [](el a, el b){return a.w<b.w;});
vector<ll> sol(E.size(), 0);
for(int j = 0; j<E.size(); j++){
int d = E[j];
int curr_l = 0;
ll curr_mn = LLONG_MAX;
ll sm = 0;
for(int i= 0; i<n; i++){
curr_l++;
curr_mn = min(curr_mn, v[i].a-v[i].b);
sm += v[i].b;
if(i == n-1 || v[i+1].w-v[i].w > d){
if(curr_l&1) sol[j] += sm+curr_mn;
else sol[j] += sm;
sm = 0;
curr_l = 0;
curr_mn = LLONG_MAX;
}
}
}
return sol;
}
# | 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... |