Submission #1030392

#TimeUsernameProblemLanguageResultExecution timeMemory
1030392sleepntsheepColors (BOI20_colors)C11
Compilation error
0 ms0 KiB
#include<stdio.h> #include<math.h> #include<stdlib.h> int h(int i,int j){return i>j?i:j;} int h_(int i,int j){return -h(-i,-j);} int a_,past_ask[66],b_; int ask(long long c){for(int j=0;j<b_;++j)if(past_ask[j]==c)return-1;past_ask[b_++]=c;printf("? %lld\n",c);fflush(stdout);scanf("%d",&a_);return a_;} void report(int C){printf("= %d\n", C);fflush(stdout);exit(0);} int main(){ long long n; scanf("%lld",&n); if(n<=64){ if(n==1)report(1); ask(1); if(!ask(n))report(n); for(int r=n-1,l=2,d=n-1,i=1,cc=0;cc<n-2;++i,--d,++cc) if(i%2&&!ask(l++))report(d); else if(i%2==0&&!ask(r--))report(d); report(1); } if(n<=125){ int m = n / 2 + 1; ask(m); int mid = ask(1); if (!ask(n))report(n); if(mid){ for(int r=m-1,l=2,d=m-1,i=1,cc=0;d>1;++i,--d,++cc) if(i%2&&!ask(l++))report(d); else if(i%2==0&&!ask(r--))report(d); report(1); }else{ for(int r=n-1,l=2,d=n-1,i=1,cc=0;d>1;++i,--d,++cc){ if(i%2){ if(l==m)report(1); if(!ask(l++))report(d); } else if(i%2==0){ if(r==m)report(1); else if(!ask(r--)) report(d); } } } } if(n<=1000){ int S=floor(sqrt(n)),m=n/2+1; ask(m); int ll=m,rr=m; for(int ii=1;;++ii){ if(ii%2){ ll=h(ll-S,1); if(ask(ll)){ for(int r=rr-1,l=ll+1,d=rr-ll,i=1;d>1;++i,--d){ if(i%2){ if(!ask(l++))report(d); }else{ if(!ask(r--))report(d); } } } }else{ rr=h_(rr+S,n); if(ask(rr)){ for(int r=rr-1,l=ll+1,d=rr-ll,i=1;d>1;++i,--d){ if(i%2){ if(!ask(l++))report(d); }else{ if(!ask(r--))report(d); } } } } } } }

Compilation message (stderr)

Colors.c: In function 'ask':
Colors.c:7:123: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 | int ask(long long c){for(int j=0;j<b_;++j)if(past_ask[j]==c)return-1;past_ask[b_++]=c;printf("? %lld\n",c);fflush(stdout);scanf("%d",&a_);return a_;}
      |                                                                                                                           ^~~~~~~~~~~~~~~
Colors.c: In function 'main':
Colors.c:11:5: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     scanf("%lld",&n);
      |     ^~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccBKmP3T.o: in function `main':
Colors.c:(.text.startup+0x1af): undefined reference to `sqrt'
/usr/bin/ld: Colors.c:(.text.startup+0x1b4): undefined reference to `floor'
collect2: error: ld returned 1 exit status