#include "nile.h"
#include <bits/stdc++.h>
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<long long> vll;
int N,Q;
vector<vi> artifact;
vll res;
vll calculate_costs(vi W,vi A,vi B,vi E) {
Q=E.size();
N=W.size();
res.resize(Q);
artifact.resize(N);
for(int i=0;i<N;i++){
artifact[i]={W[i],A[i],B[i]};
}
sort(ALL(artifact));
for(int i=0;i<Q;i++){
int iz=0;
res[i]+=artifact[0][2];
for(int j=1;j<N;j++){
res[i]+=artifact[j][2];
if(artifact[j][0]-artifact[j-1][0]>E[i]){
//iz al j-1;
if((j-iz)%2){
int mini=1e9;
for(int k=iz;k<=j-1;k++){
if((k-iz)%2){
if(artifact[k+1][0]-artifact[k-1][0]<=E[i]){
mini=min(mini,artifact[k][1]-artifact[k][2]);
}
}else{
mini=min(mini,artifact[k][1]-artifact[k][2]);
}
}
res[i]+=mini;
}
iz=j;
}
}
int j=N;
if((j-iz)%2){
int mini=1e9;
for(int k=iz;k<=j-1;k++){
if((k-iz)%2){
if(artifact[k+1][0]-artifact[k-1][0]<=E[i]){
mini=min(mini,artifact[k][1]-artifact[k][2]);
}
}else{
mini=min(mini,artifact[k][1]-artifact[k][2]);
}
}
res[i]+=mini;
}
}
return res;
}
# | 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... |