이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |