Submission #1222398

#TimeUsernameProblemLanguageResultExecution timeMemory
1222398thelegendary08Overtaking (IOI23_overtaking)C++17
Compilation error
0 ms0 KiB
#include "overtaking.h"
#include<bits/stdc++.h>
#define int long long
#define f0r(i,n) for(int i = 0; i<n; i++)
#define pb push_back
#define mp make_pair
#define vi vector<int>
#define mii map<int,int>
#define pii pair<int,int>
#define vpii vector<pii>
#define FOR(i, k, n) for(int i = k; i<n; i++)
#define vb vector<bool>
#define vout(v) for(auto u : v)cout<<u<<' '; cout<<endl;
using namespace std;
int l, n, nspeed, m;
vi t, speed, 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; speed=W; nspeed=X; m=M; s=S;
    return;
}

long long arrival_time(long long y)
{
	if(n == 1){
		if(nspeed <= speed[0])return y + l * nspeed;
		else{
			if(y <= t[0])return y + l * nspeed;
			else{
				double dif = (y - t[0]) / (speed[0] + 0.0); //position of 0 when 1 departs
				double nxtp = dif * (nspeed - speed[0]); // time taken to catch up
				double pos = nxtp / (nspeed + 0.0);
				int lo = 0; int hi = m; //find first sorting station >= pos
				while(lo < hi){
					int mid = lo + (hi - lo) / 2;
					if(s[mid] >= pos){
						hi = mid;
					}
					else{
						lo = mid + 1;
					}
				}
				if(lo == m)return y + l * nspeed;
				else{
					return t[0] + speed[0] * s[lo] + (s[m-1] - s[lo]) * nspeed;
				}
			}
		}
	}
	
    return 0;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/cctzdx74.o: in function `main':
grader.cpp:(.text.startup+0x468): undefined reference to `init(int, int, std::vector<long long, std::allocator<long long> >, std::vector<int, std::allocator<int> >, int, int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status