답안 #224514

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
224514 2020-04-18T09:36:46 Z jhnah917 Hotter Colder (IOI10_hottercolder) C++14
컴파일 오류
0 ms 0 KB
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;

int sub3(int N){
    int l = 1, r = N;
    while(l < r){
        int m = l + r >> 1;
        int a = Guess(l), b = Guess(r);
        if(b == 1) l = m + 1;
        else if(b == -1) r = l + r - 1 >> 1;
        else return m;
    }
    return l;
}

int HC(int N){
    int l = 1, r = N;
    int prv = l + (r - l) / 3; Guess(prv);
    while(l < r){
        int m1 = l + (r - l) / 3, m2 = r - (r - l) / 3;
        int now = abs(prv - m1) > abs(prv - m2) ? m1 : m2;
        int qry = query(now);
        if(qry == 1){
            if(prv < now) l = max(l, (prv + now >> 1) + 1);
            else r = min(r, prv + now >> 1);
        }
        else if(qry == -1){
            if(prv < now) r = min(r, prv + now >> 1);
            else l = max(l, (prv + now >> 1) + 1);
        }
        else return prv + now >> 1;
        prv = now;
    }
    return l;
}

Compilation message

hottercolder.cpp: In function 'int sub3(int)':
hottercolder.cpp:8:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
         int m = l + r >> 1;
                 ~~^~~
hottercolder.cpp:11:36: warning: suggest parentheses around '-' inside '>>' [-Wparentheses]
         else if(b == -1) r = l + r - 1 >> 1;
                              ~~~~~~^~~
hottercolder.cpp:9:13: warning: unused variable 'a' [-Wunused-variable]
         int a = Guess(l), b = Guess(r);
             ^
hottercolder.cpp: In function 'int HC(int)':
hottercolder.cpp:23:19: error: 'query' was not declared in this scope
         int qry = query(now);
                   ^~~~~
hottercolder.cpp:23:19: note: suggested alternative: 'qry'
         int qry = query(now);
                   ^~~~~
                   qry
hottercolder.cpp:25:43: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             if(prv < now) l = max(l, (prv + now >> 1) + 1);
                                       ~~~~^~~~~
hottercolder.cpp:26:33: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             else r = min(r, prv + now >> 1);
                             ~~~~^~~~~
hottercolder.cpp:29:42: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             if(prv < now) r = min(r, prv + now >> 1);
                                      ~~~~^~~~~
hottercolder.cpp:30:34: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             else l = max(l, (prv + now >> 1) + 1);
                              ~~~~^~~~~
hottercolder.cpp:32:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
         else return prv + now >> 1;
                     ~~~~^~~~~