답안 #895847

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
895847 2023-12-30T22:31:04 Z Macker Hotter Colder (IOI10_hottercolder) C++17
90 / 100
509 ms 8280 KB
#include <bits/stdc++.h>
#include "grader.h"
 
using namespace std;

int HC(int N){
   int l = 1, r = N, mid;
   int ask = max(N  / 2, 1);
   Guess(ask);
   while(l < r){
      int nask = min(max(l + r - ask, r / 3 + 1), N - ((N - l)/3));
      if(nask == ask) nask++;
      if(nask > N) nask = N - (ask == N);
      mid = (ask + nask) / 2;
      int g = Guess(nask);
      if(ask > nask) g = -g;
      if(g == 1) l = mid + 1;
      else if(g == -1){
         if((ask + nask) % 2 == 0) r = mid - 1;
         else r = mid;
      } 
      else return (ask + nask) / 2;

      ask = nask;
   }
   return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 20 ms 6744 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 20 ms 6748 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 6768 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 509 ms 8280 KB Output is partially correct - alpha = 0.600000000000