Submission #99418

#TimeUsernameProblemLanguageResultExecution timeMemory
99418JustasLeCave (IOI13_cave)C++17
0 / 100
226 ms512 KiB
#include "cave.h"
#include <bits/stdc++.h>

using namespace std;

const int maxn = (int) 5e3 + 10;
int a[maxn], b[maxn], d[maxn];

void exploreCave(int n) {
	for (int i = 0; i < n; i++) {
		a[i] = b[i] = d[i] = 0;
	}
	for (int i = 0; i < n; i++) {
		int l = 0, r = n - 1, lst;
		int ini = tryCombination(a);
		while (l < r) {
			int m = (l + r) / 2;
			for (int j = l; j <= m; j++) {
				if (!d[i]) {
					a[j] = !a[j];
				}
			}
			int x = tryCombination(a);
			for (int j = l; j <= m; j++) {
				if (!d[i]) {
					a[j] = !a[j];
				}
			}
			int y = tryCombination(a);
			lst = y;
			if (x == y && x == i) {
				l = m;
			} else {
				r = m - 1;
			}
		}
		if (ini != lst) {
			a[l] = !a[l];
		}
		d[l] = 1;
		b[l] = i;
	}
	answer(a, b);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:37:3: warning: 'lst' may be used uninitialized in this function [-Wmaybe-uninitialized]
   if (ini != lst) {
   ^~
#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...