#include "nile.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll dp[2005];
vector<long long> calculate_costs(vector<int> W, vector<int> A,
vector<int> B, vector<int> E) {
int Q = (int)E.size();
vector<long long> R;
vector<pair<int, pair<int, int>>> qaq;
for (int i = 0; i < A.size(); i++)
{
qaq.push_back({W[i], {A[i], B[i]}});
}
sort(qaq.begin(), qaq.end());
for (int i = 0; i < A.size(); i++)
{
W[i] = qaq[i].first;
A[i] = qaq[i].second.first;
B[i] = qaq[i].second.second;
}
for(auto g: E)
{
for (int i = 0; i < A.size(); i++)
{
dp[i] = 0;
}
dp[0] = A[0];
for (int i = 1; i < A.size(); i++)
{
dp[i] = dp[i - 1] + A[i];
int mi = 1e9;
ll ggg = 0;
ggg += B[i];
for (int j = i - 1; j >= 0; j--)
{
if(W[i] - W[j] > g)continue;
ggg += B[j];
ll taz = 0;
if(j)
taz = dp[j - 1];
if((i - j) % 2)
{
dp[i] = min(dp[i], taz + ggg);
}
else
dp[i] = min(dp[i], taz + ggg + mi);
mi = min(mi, A[j] - B[j]);
}
}
R.push_back(dp[A.size() - 1]);
}
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... |