Submission #881917

#TimeUsernameProblemLanguageResultExecution timeMemory
881917irmuunOvertaking (IOI23_overtaking)C++17
0 / 100
1 ms348 KiB
#include<bits/stdc++.h> #include "overtaking.h" using namespace std; #define ll long long #define pb push_back #define ff first #define ss second #define all(s) s.begin(),s.end() #define rall(s) s.rbegin(),s.rend() int l,n,x,m; vector<ll>t; vector<ll>w,s; void init(int L,int N,vector<ll>T,vector<int>W,int X,int M,vector<int>S){ l=L; n=N; t=T; x=X; m=M; for(auto x:T) t.pb(x); for(auto x:S) s.pb(x); } ll arrival_time(ll Y){ if(n==1){ ll e[2],rl[2]; e[0]=t[0]; e[1]=Y; for(ll i=1;i<m;i++){ rl[0]=e[0]+(s[i]-s[i-1])*w[0]; rl[1]=e[1]+(s[i]-s[i-1])*x; if(e[0]<e[1]){ rl[1]=max(rl[1],e[0]); } if(e[0]>e[1]){ rl[0]=max(rl[0],e[1]); } e[0]=rl[0]; e[1]=rl[1]; } return e[1]; } if(m==2){ ll ans=Y+l*x; for(ll i=0;i<n;i++){ if(t[i]<Y){ ll exp=t[i]+l*w[i]; ans=max(ans,exp); } } return ans; } return 0ll; }
#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...