# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
226574 | Blerargh | Hotter Colder (IOI10_hottercolder) | C++17 | 1050 ms | 236876 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 <bits/stdc++.h>
using namespace std;
int HC(int N){
if (N==1) return 1;
int nextguess, prevguess;
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;
}
prevguess = mid+1;
while (l<r){
nextguess = l - prevguess + r;
if (nextguess > prevguess) nextguess = min(nextguess, N);
else if (nextguess < prevguess) nextguess = max(0, nextguess);
chk = Guess(nextguess);
if (chk == -1){
if (nextguess > prevguess) {
mid = (nextguess + prevguess)/2;
if (mid - prevguess == nextguess - mid) r = mid-1;
else r = mid;
} else {
mid = (nextguess + prevguess)/2;
l = mid+1;
}
} else if (chk == 1){
if (nextguess > prevguess) {
mid = (nextguess + prevguess)/2;
l = mid+1;
} else {
mid = (nextguess + prevguess)/2;
if (mid - prevguess == nextguess-mid) r = mid-1;
else r = mid;
}
} else if (chk == 0){
return (prevguess+nextguess)/2;
}
prevguess = nextguess;
}
}
Compilation message (stderr)
# | 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... |