Submission #948427

#TimeUsernameProblemLanguageResultExecution timeMemory
948427vjudge1Rainforest Jumps (APIO21_jumps)C++17
Compilation error
0 ms0 KiB
#include "jumps.h"
#include "stub.cpp"

#include <bits/stdc++.h>

#define pb push_back
#define ll long long
#define fr first
#define sc second
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()


using namespace std;
const int N=2e5+5;
vector<int> g[N];
int n;
void init(int n_, vector<int> a){
	n=n_;
	stack<int> A;
	for(int i=0;i<n;i++){
		while(!A.empty() && a[A.top()]<a[i]) A.pop();
		if(!A.empty()) g[i].pb(A.top());
		A.push(i);
	}
	while(!A.empty()) A.pop();
	for(int i=n-1;i>=0;i--){
		while(!A.empty() && a[A.top()]<a[i]) A.pop();
		if(!A.empty()) g[i].pb(A.top());
		A.push(i);
	}
}

int minimum_jumps(int A, int B, int C, int D) {
	queue< pair <int,int> > dq;
	vector<bool> used(n);
	for(int i=A;i<=B;i++){
		dq.push(make_pair(i,0));
	}
	int ans=1e9;
	while(!dq.empty()){
		int x=dq.front().fr;
		int d=dq.front().sc;
		dq.pop();
		if(C<=x && x<=D) ans=min(ans,d);
		for(auto it: g[x]){
			if(!used[it]){
				used[it]=1;
				dq.push(make_pair(it,d+1));
			}
		}
	}
	if(ans==1e9) ans=-1;
	//cout<<ans<<endl;
	return ans;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccX8wYZF.o: in function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccgRDXSI.o:jumps.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status