제출 #899859

#제출 시각아이디문제언어결과실행 시간메모리
899859LudisseyOvertaking (IOI23_overtaking)C++17
39 / 100
3524 ms632 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...