이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "overtaking.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
int l,n,x,m;
vector<int> t,w,s;
void init(signed L, signed N, std::vector<long long> T, std::vector<signed> W, signed X, signed M, std::vector<signed> S)
{
l=L;
n=N;
x=X;
m=M;
t.assign(T.begin(),T.end());
s.assign(S.begin(),S.end());
w.assign(W.begin(),W.end());
return;
}
long long arrival_time(long long Y)
{
vector<int> allT(n+1);
for (int i = 0; i < n; i++) allT[i]=t[i];
allT[n]=Y;
for (int i = 1; i < m; i++) // check toute les station
{
int dist=s[i]-s[i-1];
vector<int> allE(n+1);
for (int j = 0; j < n; j++) {
allE[j]=allT[j]+(w[j]*dist);
//cerr << j << " " << allE[j] << "\n";
}
allE[n]=allT[n]+(x*dist);
//cerr << n << " " << allE[n] << "\n";
for (int j = 0; j <= n; j++) // check toute les bus
{
for (int k = 0; k <= n; k++) // check toute les bus
{
if(j==k) continue;
if(allT[k]<allT[j]&&allE[j]<allE[k]){
allE[j]=allE[k];
}
}
}
for (int k = 0; k <= n; k++) {
allT[k]=allE[k];
//cerr << k << " " << allT[k] << "\n";
}
//cerr << "\n";
}
return allT[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... |