Submission #1016371

#TimeUsernameProblemLanguageResultExecution timeMemory
101637112345678Overtaking (IOI23_overtaking)C++17
39 / 100
3524 ms16208 KiB
#include "overtaking.h" #include <bits/stdc++.h> using namespace std; #define ll long long const int nx=1e3+5; ll n, m, e[nx][nx], t[nx][nx]; vector<ll> l, w, s; void init(int L, int N, std::vector<long long> T, std::vector<int> W, int X, int M, std::vector<int> S) { n=N, m=M; l.resize(N+1); w.resize(N+1); s.resize(M); for (int i=0; i<n; i++) l[i]=T[i], w[i]=W[i]; for (int i=0; i<m; i++) s[i]=S[i]; w[n]=X; } long long arrival_time(long long Y) { l[n]=Y; for (int i=0; i<=n; i++) t[0][i]=l[i]; for (int i=1; i<m; i++) { vector<pair<ll, pair<ll, ll>>> v; for (int j=0; j<=n; j++) e[i][j]=t[i-1][j]+(s[i]-s[i-1])*w[j], v.push_back({t[i-1][j], {e[i][j], j}}); sort(v.begin(), v.end()); ll mx=0; for (int j=0; j<=n; j++) mx=max(mx, v[j].second.first), t[i][v[j].second.second]=mx; //for (int j=0; j<=n; j++) cout<<"debug "<<i<<' '<<j<<' '<<t[i][j]<<'\n'; } return t[m-1][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...