Submission #881916

#TimeUsernameProblemLanguageResultExecution timeMemory
881916irmuunOvertaking (IOI23_overtaking)C++17
9 / 100
2 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<int>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; w=W; x=X; m=M; s=S;
}

ll arrival_time(ll Y){
    if(n==1){
        ll e[2],rl[2];
        e[0]=t[0];
        e[1]=Y;
        for(int i=1;i<m;i++){
            rl[0]=e[0]+1ll*(s[i]-s[i-1])*w[0];
            rl[1]=e[1]+1ll*(s[i]-s[i-1])*x;
            if(e[0]<e[1]){
                rl[1]=max(rl[1],rl[0]);
            }
            if(e[0]>e[1]){
                rl[0]=max(rl[0],rl[1]);
            }
            e[0]=rl[0];
            e[1]=rl[1];
        }
        return e[1];
    }
    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...