답안 #390602

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
390602 2021-04-16T11:02:18 Z Sorting Hotter Colder (IOI10_hottercolder) C++17
83 / 100
666 ms 8104 KB
#include "grader.h"
#include <bits/stdc++.h>

using namespace std;

int HC(int n){
    int l = 1, r = n;
    int prev = -1;
    while(l != r){
        //cout << l << " - " << r << endl;
        int mid = (l + r) >> 1;
        int cand = 2 * mid - prev, g;
        if(prev == -1) cand = -1;

        if(prev == cand) ++cand;
        if((prev + cand) / 2 == mid && 1 <= cand && cand <= n){
            //cout << "cand is here" << endl;
            g = Guess(cand);
            if(prev > mid) g = -g; 
            prev = cand;
        }
        else{
            if(n - r < l - 1){
                Guess(l);
                g = Guess(r);
                prev = r;
            }
            else{
                Guess(r);
                g = -Guess(l);
                prev = l;
            }
        }
        
        if(!g) return mid;

        if(g == -1) r = mid;
        else l = mid + 1;
    }
    return l;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 1300 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 22 ms 1228 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 23 ms 1296 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 666 ms 8104 KB Output is partially correct - alpha = 0.333333333333