#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define sz(a) (int)a.size()
#define all(a) begin(a),end(a)
using ll = long long;
using ar2 = array<int,2>;
using ar3 = array<int,3>;
using vi = vector<int>;
using vll = vector<ll>;
const int mxN = (int)1e5+10;
const int INF = (int)1e9+10;
const ll LINF = (ll)1e18+10;
int n, q;
ll dp[mxN];
vll calculate_costs(vi W, vi A, vi B, vi E){
n = sz(W); q = sz(E);
vll ans; ans.clear();
ll tot = accumulate(all(B),0ll);
vi v(n,0); iota(all(v),0);
sort(all(v),[&](int i, int j){ return W[i]<W[j]; });
for(auto D:E){
dp[0] = 0;
for(int i = 1; i <= n; i++){
dp[i] = dp[i-1] + A[v[i-1]];
ll mn = LINF;
for(int j = i-1; j>=1; j--){
if(W[v[i-1]]-W[v[j-1]]>D) break;
dp[i] = min(dp[i], dp[j-1]+B[v[i-1]]+B[v[j-1]]+((i-j-1)%2)*mn);
mn = min(mn, (ll)A[v[j-1]]);
}
}
ans.pb(dp[n]);
}
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... |