Submission #736341

#TimeUsernameProblemLanguageResultExecution timeMemory
736341jk410Rarest Insects (IOI22_insects)C++17
47.50 / 100
273 ms508 KiB
#include "insects.h"
#include <bits/stdc++.h>
using namespace std;
int n;
bool used[2000];
int mySolve[2001];
int solve(int x) {
	int& ret = mySolve[x];
	if (ret != -1)
		return ret;
	for (int i = 0; i < n; i++) {
		move_inside(i);
		used[i] = true;
		if (press_button() > x) {
			used[i] = false;
			move_outside(i);
		}
	}
	ret = 0;
	for (int i = 0; i < n; i++) {
		if (used[i]) {
			ret++;
			move_outside(i);
		}
	}
	return ret;
}
int min_cardinality(int _n) {
	n = _n;
	memset(mySolve, -1, sizeof(mySolve));
	int cnt = solve(1);
	int l = 1, r = n / cnt, ans;
	while (l <= r) {
		int m = (l + r) >> 1;
		if (solve(m) == cnt * m) {
			ans = m;
			l = m + 1;
		}
		else
			r = m - 1;
	}
	return ans;
}

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:42:9: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   42 |  return ans;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...