#include "grader.h"
#include<bits/stdc++.h>
using namespace std;
int HC(int N){
if(N==1)return 1;
int l=1, r=N;
int lst, akt;
akt=(l+r+1)/2-1;
Guess(akt);
while(l<r){
//cout<<lst<<" "<<akt<<" "<<l<<" "<<r<<"\n";
lst=akt;
if(lst<l)akt=r-(r-l)*2/5;
else if(lst>r)akt=l+(r-l)*2/5;
else{
akt=l+r-lst;
if(akt==lst)akt--;
}
/*akt=(l+r+1)/2;
if(akt==lst)akt--;*/
int k=Guess(akt);
//cout<<lst<<" "<<akt<<" "<<l<<" "<<r<<"\n";
if(k==0)return (lst+akt)>>1;
if((akt<lst) ^ (k==1))l=max((lst+akt+2)/2, l);
else r=min(r, (lst+akt-1)/2);
}
return l;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
26 ms |
1228 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
25 ms |
1296 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
27 ms |
1228 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
699 ms |
8092 KB |
Output is partially correct - alpha = 0.535714285714 |