제출 #376803

#제출 시각아이디문제언어결과실행 시간메모리
376803daniel920712Minerals (JOI19_minerals)C++14
70 / 100
27 ms2156 KiB
#include "minerals.h" #include <vector> #include <stdio.h> //using namespace std; int ans[86005]={0}; bool have[86005]; int cha[86005]; void Solve(int N) { int x=0,y,i,j,now=1,tt=0; for(i=1;i<=2*N;i++) { y=Query(i); tt++; if(y-x==0) { cha[now++]=i; have[i]=1; } x=y; } for(i=1;i<=2*N;i++) { if(have[i]==0) cha[now++]=i; /*else { Query(i); tt++; }*/ } for(i=0;i<16;i++) { for(j=1;j<=N;j++) { if(i&&(j&(1<<i))&&((j&(1<<(i-1)))==0)||(i==0&&(j&(1<<i))==0)) { x=Query(cha[j]); tt++; } } for(j=1;j<=N;j++) { y=Query(cha[j+N]); tt++; if(y-x==0) ans[j]+=(1<<i); x=y; } for(j=1;j<=N;j++) { if((j&(1<<i))&&(j&(1<<(i+1)))==0&&i!=15) { x=Query(cha[j]); tt++; } } } //printf("%d\n",tt); for(i=1;i<=N;i++) { Answer(cha[i+N],cha[ans[i]]); } }

컴파일 시 표준 에러 (stderr) 메시지

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:40:20: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   40 |    if(i&&(j&(1<<i))&&((j&(1<<(i-1)))==0)||(i==0&&(j&(1<<i))==0))
      |       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...