#include "overtaking.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef vector<int> vi;
typedef vector<ll> vl;
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define mk make_pair
#define pb push_back
#define fr first
#define sc second
vector<vl> t;
vi w, s;
void init(int L, int N, vl T, vi W, int X, int M, vi S) {
t.resize(M, vl(N+1));
w = W;
w.pb(X);
s = S;
for(int i = 0; i < N; i++)
t[0][i] = T[i];
return;
}
ll arrival_time(ll Y) {
int m = sz(s), n = sz(w)-1;
t[0][n] = Y;
for(int M = 1; M < m; M++) {
for(int i = 0; i <= n; i++)
t[M][i] = t[M-1][i] + (ll)(s[M] - s[M-1]) * w[i];
for(int i = 0; i <= n; i++) {
for(int j = 0; j <= n; j++)
if(t[M-1][j] < t[M-1][i]) t[M][i] = max(t[M][i], t[M][j]);
}
}
return t[m-1][n];
}
# | 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... |