Submission #101922

#TimeUsernameProblemLanguageResultExecution timeMemory
101922tim25871014커다란 상품 (IOI17_prize)C++17
20 / 100
73 ms396 KiB
#include "prize.h"
using namespace std;

int find_best(int n){

    int loli=0;
    for(int i=0;i<500;i++){
        vector<int> ans=ask(i);
        loli=max(loli,ans[0]+ans[1]);
    }

    int l=0;
    while(ask(l)[1]!=0){
        int ub=n+1,lb=l;
        vector<int> ans;
        int mid=1;
        while(ub-lb>1 && mid){
            mid=ub+lb>>1;
            while(ans=ask(mid),ans[0]+ans[1]!=loli){
                if(ans[0]+ans[1]==0) return mid;
                mid--;
            }
            if(ans[0]) ub=mid;
            else lb=mid;
        }
        ans=ask(lb);
        if(ans[0]+ans[1]==0) return lb;
        else l=lb+1;
    }
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:18:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
             mid=ub+lb>>1;
                 ~~^~~
prize.cpp:30:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...