# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
226571 | Blerargh | Hotter Colder (IOI10_hottercolder) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "grader.h"
#include "hottercolder.h"
#include <bits/stdc++.h>
using namespace std;
int HC(int N){
if (N==1) return 1;
int nextguess, prevvguess;
int l=1, r=N;
int mid = (l+r)/2;
int chk = Guess(mid);
chk = Guess(mid+1);
if (chk == -1){
r = mid;
} else if (chk == 1){
l = mid+1;
}
prevvguess = mid+1;
while (l<r){
nextguess = l - prevvguess + r;
if (nextguess > prevvguess) nextguess = min(nextguess, N);
else if (nextguess < prevvguess) nextguess = max(0, nextguess);
chk = Guess(nextguess);
if (chk == -1){
if (nextguess > prevvguess) {
r = (nextguess + prevvguess)/2;
} else {
l = (nextguess + prevvguess)/2;
}
} else if (chk == 1){
if (nextguess > prevvguess) {
l = (nextguess + prevvguess)/2;
} else {
r = (nextguess + prevvguess)/2;
}
} else if (chk == 0){
return (prevvguess+nextguess)/2;
}
prevvguess = nextguess;
}
}