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>
#include "cave.h"
using namespace std;
#define ll long long
#define rep(i,n) for(long long (i)=0;(i)<(n);++(i))
#define ref(i,a,b) for (long long (i)=(a); (i)<=(b); ++(i))
#define INF 0xFFFFFF
#define endl '\n'
#define pb push_back
#define mp make_pair
const unsigned int mod = 1e9+7;
const int mx=5005;
int s[mx],d[mx];
void exploreCave(int n){
if(n==1){
if(tryCombination(s)==-1)answer(s,d);
s[0]=1;
answer(s,d);
}
vector <int> lock(n);
for(int i=0;i<n;++i){
int l=0;
int r=n-1;
int now=-1;
int cur=-1;
bool firstt=1;
while(l<r){
if(firstt){
cur=tryCombination(s);
firstt=0;
}
else cur=now;
int mid=(l+r)/2;
for(int j=l;j<=mid;++j){
if(!lock[j])s[j]=1-s[j];
}
now=tryCombination(s);
if(cur==now or (cur!=i and now!=i)){
l=mid+1;
}
else{
r=mid;
}
}
if(now==i)s[l]=1-s[l];
lock[l]=1;
d[l]=i;
}
answer(s,d);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |