Submission #1203591

#TimeUsernameProblemLanguageResultExecution timeMemory
1203591a.pendovCave (IOI13_cave)C++20
100 / 100
194 ms588 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { int s[N]; int des[N]; int key[N]; for(int i=0;i<N;i++) { s[i]=0; des[i]=0; } for(int i=0;i<N;i++) { int curr; vector<int> v; for(int j=0;j<N;j++) { if(des[j])continue; v.push_back(j); s[j]=0; } if(tryCombination(s)==i)curr=1; else curr=0; int l=0,r=N-i-1; while(l+1<r) { int mid=(l+r)/2; for(int k=0;k<=mid;k++)s[v[k]]=curr; for(int k=mid+1;k<v.size();k++)s[v[k]]=1-curr; if(tryCombination(s)==i) { l=mid+1; } else { r=mid; } } for(int k=0;k<l+1;k++)s[v[k]]=curr; for(int k=l+1;k<v.size();k++)s[v[k]]=1-curr; if(tryCombination(s)==i) { des[v[l+1]]=1; key[v[l+1]]=i; s[v[l+1]]=curr; } else { des[v[l]]=1; key[v[l]]=i; s[v[l]]=curr; } } answer(s,key); }
#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...