# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
148049 | GodTe | Cave (IOI13_cave) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> Pi;
typedef pair<ll, ll> Pll;
// #define TT() printf("%.4f sec\n", (double) clock() / CLOCKS_PER_SEC )
#define Fi first
#define Se second
#define rep(i, n) for(ll i=0;i<n;i++)
#define repp(i, n) for(ll i=1;i<=n;i++)
#define INF 1987654321
#define IINF 987654321987654321
void exploreCave(int N){
int ans[5010] = {0,};
int cntd[5010] = {0,};
rep(i,5010){
ans[i] = 0; cntd[i] = -1;
}
rep(i,N){
int l = 0; int r = N-1;
while(l < r){
int mid = (l+r)/2;
for(int j = l; j <= mid; j++){
if(cntd[j] == -1) ans[j] = 1-ans[j];
}
if(tryCombination(ans) > i) r = mid;
else {
for(int j = l; j <= r; j++) if(cntd[j] == -1) ans[j] = 1-ans[j];
l = mid+1;
}
}
cntd[l] = i;
}
answer(ans,cntd);
}