제출 #772323

#제출 시각아이디문제언어결과실행 시간메모리
772323AbkonlHotter Colder (IOI10_hottercolder)C++17
0 / 100
10077 ms107836 KiB
#include "grader.h"
#include <iostream>
using namespace std;

int HC(int N){
  int low = 1;
  int high = N;
  int guess = high; // Primeiro palpite é N
  int prev = 0;
  int response_prev = 0;
  int response_prev_prev = 0;
  int firstGuess = true;

    while (low < high) {
        cout << "guess: " << guess << endl;
        int response = Guess(guess);
        if (response == 1) {
            if(prev > guess) 
                high = (guess + high)/2;

            if(prev < guess)
                low = (guess + low)/2;
        } 
        else if (response == -1) {
            if(prev > guess)
                low = (guess + low)/2;

            if(prev < guess)
                high = (guess + high)/2;
        }

        if(response == -1 && response_prev == 0 && response_prev_prev == 1) {
          return prev;
        }

        prev = guess;
        response_prev_prev = response_prev;
        response_prev = response;
      cout << "[" << low << "," << high << ']' << endl;
        if(response == 0 && guess == prev) {//Casos especiais
          if(firstGuess == true) {
            firstGuess = false;
            guess = (low + high) / 2;
          }
          else {
            guess = guess + 1;
          }
        }

        if(response != 0) //Padrão
            guess = (low + high) / 2;

    }
    return low;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...