#include "nile.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define all(v) v.begin(),v.end()
const int maxn = 1e5+100;
int par[maxn];
vector<int> a,b,w;
void init(){
for(int i = 0;i<maxn;i++){
par[i] = i;
}
}
int find(int node){
return node==par[node]?node:par[node] = find(par[node]);
}
void merge(int a,int b){
a = find(a);
b = find(b);
if(a==b) return;
par[b] = a;
}
vector<ll> calculate_costs(vector<int> W, vector<int> A,vector<int> B, vector<int> E) {
a = A;
b = B;
w = W;
vector<vector<ll>> v;
int n = w.size();
for(int i = 0;i<n;i++){
v.pb({(ll)w[i],(ll)a[i],(ll)b[i]});
}
vector<ll> ans;
sort(all(v));
for(auto d : E){
init();
ll dp[n];memset(dp,0,sizeof(dp));
for(int i =1;i<n;i++){
dp[i] = 1e18;
}
dp[0] = a[0];
for(int i=1;i<n;i++){
dp[i] = min(dp[i],dp[i-1]+a[i]);
if(abs(v[i-1][0]-v[i][0])<=d){
dp[i] = min(dp[i],(i>=2?dp[i-2]:0LL)+(ll)v[i-1][2]+(ll)v[i][2]);
}
}
ans.pb(dp[n-1]);
}
return ans;
}
# | 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... |