Submission #980999

#TimeUsernameProblemLanguageResultExecution timeMemory
980999vjudge1Overtaking (IOI23_overtaking)C++17
0 / 100
2 ms348 KiB
#include <algorithm> #include <fstream> #include <vector> #include <queue> #include <stack> #include <iostream> #include <cmath> #include <queue> #include <set> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <unordered_set> #define F first #define S second #define PB push_back using namespace std; const long long MOD=1e9+7, INF=1e18; const int INFI=1e9; typedef long long ll; typedef pair<int, int> ii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ii> vii; typedef vector<pair<int, ii>> viii; typedef vector<vii> vvii; typedef vector<ll> vll; typedef vector<vll> vvll; vll t; vi w, s; int l, n, x, m; void init(int L, int N, vll T, vi W, int X, int M, vi SS) //int main() { l=L; n=N; x=X; m=M; t=T; w=W; s=SS; } ll arrival_time(ll y){ vll times(n+1, 0), ex(n+1, 0), ans(n+1, 0); for(int i=0;i<n;i++) times[i]=t[i]; times[n]=y; for(int z=1;z<m;z++){ for(int i=0;i<n;i++) ex[i]=times[i]+((ll)w[i]*(s[i]-s[i-1])); ex[n]=times[n]+((ll)x*(s[z]-s[z-1])); for(int i=0;i<=n;i++){ ll mx=ex[i]; for(int j=0;j<=n;j++) if(times[j]<times[i]) mx=max(mx, ex[j]); ans[i]=mx; } for(int i=0;i<=n;i++) times[i]=ans[i]; } return ans[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...