#include "nile.h"
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;
vector<ll>calculate_costs(vector<int>W,vector<int>A,vector<int>B,vector<int>E){
vector<pair<int,pair<int,int>>>arr; // (W, (A, B))
int n=(int)W.size();
for(int i=0;i<n;i++){
arr.push_back({W[i],{A[i],B[i]}});
}
sort(arr.begin(),arr.end());
vector<ll>res;
vector<ll>pref(n+1);
for(int i=0;i<n;i++)
pref[i+1]=pref[i]+arr[i].second.first;
for(int D:E){
vector<ll>dp(n+1);
dp[0]=0;
for(int i=1;i<=n;i++){
// pripelji samega
dp[i]=dp[i-1]+arr[i-1].second.first;
// pripelji i-1 skupaj z j
for(int j=0;j<i-1;j++){
if(abs(arr[i-1].first-arr[j].first)<=D){
dp[i]=min(dp[i],dp[j]+arr[i-1].second.second+arr[j].second.second+pref[i-1]-pref[j+1]);
}
}
}
res.push_back(dp[n]);
/*cout<<"W: ";
for(int i=0;i<n;i++)
cout<<arr[i].first<<" ";
cout<<"\n";
cout<<"A: ";
for(int i=0;i<n;i++)
cout<<arr[i].second.first<<" ";
cout<<"\n";
cout<<"B: ";
for(int i=0;i<n;i++)
cout<<arr[i].second.second<<" ";
cout<<"\n";
cout<<"dp: ";
for(int i=0;i<=n;i++)
cout<<dp[i]<<" ";
cout<<"\n";*/
}
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... |