Submission #867737

#TimeUsernameProblemLanguageResultExecution timeMemory
867737Dec0DeddCave (IOI13_cave)C++14
51 / 100
261 ms600 KiB
#include <bits/stdc++.h> #include "cave.h" using namespace std; void exploreCave(int n) { int ans[n]={}, d[n]={}; memset(ans, -1, sizeof(ans)); memset(d, -1, sizeof(d)); for (int i=0; i<n; ++i) { int s[n+1]={}; // check if i-th must be up for (int j=0; j<n; ++j) { if (ans[j] != -1) s[j]=d[j]; else s[j]=0; } int k=0; if (tryCombination(s) > i || tryCombination(s) == -1) k=0; else k=1; int l=0, r=n-1, res=n-1; while (l <= r) { int m=(l+r)/2; int tp[n]={}; for (int j=0; j<n; ++j) { if (ans[j] != -1) tp[j]=d[j]; else { if (j <= m) tp[j]=k; else tp[j]=k^1; } } if (tryCombination(tp) > i || tryCombination(tp) == -1) r=m-1, res=m; else l=m+1; } ans[res]=i, d[res]=k; } answer(d, ans); }
#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...