답안 #41055

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
41055 2018-02-12T07:54:54 Z esspks21 Hotter Colder (IOI10_hottercolder) C++14
51 / 100
791 ms 8312 KB
#include "grader.h"
int HC(int N) {
	//if (N <= 16) {
	//	Guess(1);
	//	for (int i = 2; i <= N; i++)
	//		if (Guess(i) == -1)
	//			return i - 1;
	//	return N;
	//}
	int left = 1;
	int right = N;
	while (left <= right) {
		if (left == right)
			return (left + right) / 2;
		if (right - left <= 4)
			break;
		Guess(left);
		int temp = Guess(right);
		if (temp == 0) // same
			return (left + right) / 2;
		if (temp == 1) // hotter
			left = (left + right) / 2 + 1;
		if (temp == -1) // colder
			right = (left + right) / 2;
	}
	int diff = right - left;
	if (diff == 0) return left;
	if (diff == 1) {
		Guess(left);
		int temp = Guess(right);
		if (temp == -1) return left;
		else return right;
	}
	Guess(left);
	for (int i = left + 1; i <= right; i++)
		if (Guess(i) == -1)
			return i - 1;
	return right;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 1272 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 37 ms 1272 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 38 ms 1272 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 791 ms 8312 KB Output is partially correct - alpha = 0.034482758621