Submission #1218766

#TimeUsernameProblemLanguageResultExecution timeMemory
1218766nickolasarapidisCave (IOI13_cave)C++20
Compilation error
0 ms0 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 5000;

int S[MAXN], D[MAXN], B[MAXN]; // 0 up 1 down

int first, M;

void finish(){
	for(int i = 0; i < N; i++){
		if(B[i] == 1) continue;
		S[i] = 1;
		int f = tryCombination(S);
		D[i] = f;
		S[i] = 0;
	}
	answer(S, D);
}

void solve(int l, int r){
	if(l == r){
		S[l] = 1;
		int f = tryCombination(S);
		if(f == -1){
			finish();
		}
		if(f < first){
			S[l] = 0;
			B[l] = 1;
			D[l] = f;
		}
		if(f > first){
			B[l] = 1;
			D[l] = first;
			first = f;
		}
		if(f == first){
			S[l] = 0;
		}
		return;
	}
	int m = (l + r)/2;
	solve(l, m);
	solve(m + 1, r);
	for(int i = l; i <= r; i++){
		if(B[i]) continue;
		S[i] = 1;
		int f = tryCombination(S);
		if(f == -1){
			finish();
		}
		if(f < first){
			S[i] = 0;
			B[i] = 1;
			D[i] = f;
		}
		if(f > first){
			B[i] = 1;
			D[i] = first;
			  first = f;
		}
		if(f == first){
			S[i] = 0;
		}
	}
	return;
}

void exploreCave(int N){
	memset(S, 0, sizeof(S));
	memset(B, 0, sizeof(B));
	first = tryCombination(S);
	if(first == -1) finish();
	M = N;
	solve(0, N - 1);
}

Compilation message (stderr)

cave.cpp: In function 'void finish()':
cave.cpp:12:28: error: 'N' was not declared in this scope
   12 |         for(int i = 0; i < N; i++){
      |                            ^