Submission
Status:
(%%%P%)
Score: 29
User: NovemNotes
Problemset: Ice cream
Language: cpp
Time: 0.001 second
Submitted On: 2025-04-22 16:37:44
#include "ice_cream.h"
int guess(int n) {
int l = 1,r = n;
while(l<r){
int len = r-l+1;
int p = len/4;
if(p==0){
int mid = (l+r)/2;
if(ask(l,mid)) r=mid;
else l=mid+1;
continue;
}
int m1 = l+p-1;
int m2 = m1+p;
int m3 = m2+p;
if(ask(l,m1)){
r = m1;
}else if(ask(m1+1,m2)){
l = m1+1,r=m2;
}else if(ask(m2+1,m3)){
l=m2+1,r=m3;
}else{
l = m3+1;
}
}
return l;
}