답안 #433978

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
433978 2021-06-20T13:09:35 Z KoD Hotter Colder (IOI10_hottercolder) C++17
78 / 100
1140 ms 8124 KB
#include <bits/stdc++.h>
#include "grader.h"

int rand() {
   static std::default_random_engine gen(std::chrono::system_clock::now().time_since_epoch().count());
   static std::uniform_int_distribution<int> rng(0, 1);
   return rng(gen);
}
 
int HC(int N) {
   int l = 1, r = N, x = 1;
   Guess(x);
   while (l < r) {
      if (rand()) {
         if (x == l) {
            const int t = Guess(r);
            x = r;
            if (t == 0) return (l + r) / 2;
            else if (t == 1) l = (l + r) / 2 + 1;
            else r = (l + r - 1) / 2;
         } else {
            if (x != r) {
               Guess(r);
            }
            const int t = Guess(l);
            x = l;
            if (t == 0) return (l + r) / 2;
            else if (t == 1) r = (l + r - 1) / 2;
            else l = (l + r) / 2 + 1;
         }
      } else {
         if (x == r) {
            const int t = Guess(l);
            x = l;
            if (t == 0) return (l + r) / 2;
            else if (t == 1) r = (l + r - 1) / 2;
            else l = (l + r) / 2 + 1;
         } else {
            if (x != l) {
               Guess(l);
            }
            const int t = Guess(r);
            x = r;
            if (t == 0) return (l + r) / 2;
            else if (t == 1) l = (l + r) / 2 + 1;
            else r = (l + r - 1) / 2;
         }
      }
   }
   return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 1284 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 1276 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 1276 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1140 ms 8124 KB Output is partially correct - alpha = 0.105263157895