#include "nile.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int n;
vector<int>w,a,b,c;
ll f(int d){
ll res=0;
for(int i=0,j=0;i<n;i=++j){
res+=b[i];
while(j+1<n&&w[j+1]-w[i]<=d){
res+=b[++j];
}
if((j-i)%2){
continue;
}
int best=i;
if(c[j]<c[i]){
best=j;
}
for(int k=i+1;k<j;k++){
if((k-i)%2==0||w[k+1]-w[k-1]<=d){
if(c[k]<c[best]){
best=k;
}
}
}
res+=c[best];
}
return res;
}
vector<ll> calculate_costs(vector<int>W,vector<int>A,vector<int>B,vector<int>E) {
n=A.size();
vector<tuple<int,int,int>>arts(n);
for(int i=0;i<n;i++){
arts[i]={W[i],A[i],B[i]};
}
sort(arts.begin(),arts.end());
w.resize(n);
a.resize(n);
b.resize(n);
c.resize(n);
for(int i=0;i<n;i++){
tie(w[i],a[i],b[i])=arts[i];
c[i]=a[i]-b[i];
}
vector<ll>r;
for(int d:E){
r.push_back(f(d));
}
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... |