Submission #376794

#TimeUsernameProblemLanguageResultExecution timeMemory
376794daniel920712Minerals (JOI19_minerals)C++14
40 / 100
24 ms1772 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++) { tt++; if(have[i]==0) cha[now++]=i; else Query(i); } for(i=0;i<16;i++) { for(j=1;j<=N;j++) { if((j&(1<<i))&&(i==0||(j&(1<<(i-1)))==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]]); } }
#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...