Submission #105202

#TimeUsernameProblemLanguageResultExecution timeMemory
105202ly20Cave (IOI13_cave)C++14
100 / 100
506 ms512 KiB
#include<bits/stdc++.h> #include "cave.h" void exploreCave(int n) { int est[n],ord[n],resp[n]; for(int i=0;i<n;i++) { est[i]=0; ord[i]=-1; resp[i]=0; } if(n==1) { int k=tryCombination(est); if(k==0)est[0]=1; ord[0]=0; answer(est,ord); } for(int at=0;at<n;at++) { int ini=0,fim=n-1; int k=tryCombination(est); while(ini<fim) { if(k>at || k==-1) { for(int i=ini;i<=fim;i++)if(ord[i]==-1)est[i]=1-est[i]; } int m=(ini+fim)/2; for(int i=ini;i<=m;i++)if(ord[i]==-1)est[i]=1-est[i]; k=tryCombination(est); if(k>at || k==-1)fim=m; else ini=m+1; if(k<=at && k>=0) { for(int i=ini;i<=fim;i++)if(ord[i]==-1)est[i]=1-est[i]; k=at+1; } } ord[ini]=at; resp[ini]=est[ini]; } answer(resp,ord); }
#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...