Submission #1205005

#TimeUsernameProblemLanguageResultExecution timeMemory
1205005PagodePaiva추월 (IOI23_overtaking)C++20
39 / 100
3596 ms16200 KiB
#include "overtaking.h" #include<bits/stdc++.h> #define ll long long using namespace std; ll l, n; vector <ll> t; vector <ll> w; ll x, m; vector <ll> s; void init(int L, int N, std::vector<long long> T, std::vector<int> W, int X, int M, std::vector<int> S){ l = L; n = N; t = T; x = X; for(auto valor : W) w.push_back(valor); m = M; for(auto valor : S) s.push_back(valor); return; } const int N = 1010; ll tt[N][N]; ll e[N][N]; long long arrival_time(long long Y){ t.push_back(Y); w.push_back(x); for(int i = 0;i <= n;i++){ tt[i][0] = t[i]; } for(int j = 1;j < m;j++){ vector <array <ll, 3>> v; for(int i = 0;i <= n;i++){ e[i][j] = tt[i][j-1] + (s[j]-s[j-1])*w[i]; v.push_back({tt[i][j-1], e[i][j], i}); } sort(v.begin(), v.end()); ll res = 0; for(auto [tmp, exp, i] : v){ //cout << tmp << ' ' << exp << ' ' << i << '\n'; res = max(res, exp); tt[i][j] = res; } //cout << '\n'; } ll ans = tt[n][m-1]; t.pop_back(); w.pop_back(); return ans; }
#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...