#include "overtaking.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
vector<ll> ex;
ll x, n, m, l;
vector<ll> w, t, s;
void init(int _l, int _n, vector<ll> _t, vi _w, int _x, int _m, vi _s) {
n = _n; m = _m; x = _x; l = _l; t = _t;
w = vector<ll>(_w.begin(), _w.end());
s = vector<ll>(_s.begin(), _s.end());
ex.resize(m);
for (int i = 0; i < m; i++) {
ex[i] = s[i] * w[0] + t[0];
}
}
ll arrival_time(ll y) {
if (x >= w[0]) return y + l * x; // più lento
if (y <= t[0]) return y + l * x; // più veloce e parte prima
return -1;
if (y + l * x >= t[0] + l * w[0]) return y + l * x; // più veloce ma non supera
for (int i = 0; i < m; i++) {
if (ex[i] > y + s[i] * x) {
return ex[i] + x * (l - s[i]);
}
}
return -1;
}
# | 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... |