Submission #1231919

#TimeUsernameProblemLanguageResultExecution timeMemory
1231919dssfsuper2Cave (IOI13_cave)C++20
0 / 100
31 ms324 KiB
#include "cave.h" using namespace std; bool isao(int res, int ser){ return (res==-1 || res>ser); } int n; bool query(int left, int right, int door, int norm[]){ int norm2[n]; for(int i = 0;i<n;i++){ norm2[i]=norm[i]; } for(int i = left;i<=right;i++)norm2[i]=1; return isao(tryCombination(norm2), door); } void exploreCave(int N) { n=N; int norm[n]; for(int i = 0;i<N;i++){ norm[i]=0; } int correct[n], doors[n]; for(int i = 0;i<n;i++){ correct[i]=0; doors[i]=0; } for(int i = 0;i<N;i++){ bool norp=query(0, -1, i, norm); int left = 0;int right=N-1; for(int it = 0;it<13;it++){ int mid = (left+right)/2; if(left==right)break; bool x = query(left, mid, i, norm); bool res = x==norp; if(res){ left=mid+1; } else{ right=mid; } } doors[left]=i; correct[left]=(norp? 0 : 1); norm[left]=correct[left]; } answer(correct, doors); }
#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...