#include "overtaking.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int l, n;
vector <ll> t;
vector <int> w;
int x, m;
vector <int> s;
void init(int L, int N, std::vector<long long> T, std::vector<int> W, int X, int M, std::vector<int> S){
l = L;
n = N;
t = T;
w = W;
x = X;
m = M;
s = S;
return;
}
const int N = 110;
ll tt[N][N];
ll e[N][N];
long long arrival_time(long long Y){
t.push_back(Y);
w.push_back(x);
for(int i = 0;i <= n;i++){
tt[i][0] = t[i];
}
for(int j = 1;j < m;j++){
vector <array <ll, 3>> v;
for(int i = 0;i <= n;i++){
e[i][j] = tt[i][j-1] + (s[j]-s[j-1])*w[i];
v.push_back({tt[i][j-1], -e[i][j], i});
}
sort(v.begin(), v.end());
ll res = 0;
for(auto [tmp, exp, i] : v){
res = max(res, -exp);
tt[i][j] = res;
}
}
ll ans = tt[n][m-1];
t.pop_back();
w.pop_back();
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... |