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 "cave.h"
#include<bits/stdc++.h>
#define ll int
#define mp make_pair
#define pub push_back
#define pob pop_back
#define ss second
#define ff first
#define ext exit(0)
using namespace std;
ll i,j,ans[5001],pos[5001],ask[5001],k,l,r,lol;
bool boo[5001];
vector<ll>v;
void exploreCave(int n) {
for(i=0;i<n;i++){
v.clear();
for(j=0;j<n;j++){
if(boo[i]==0) ask[i]=0,v.pub(j);
else ask[i]=ans[i];
}
k=tryCombination(ask);
if(k==-1 || k>i) ans[i]=ask[i];
else ans[i]=1-ask[i];
l=0,r=v.size()-1;
lol=v.size()-1;
while(l<=r){
ll mid=(l+r)/2;
for(j=0;j<v.size();j++){
if(j<=mid){
ask[v[j]]=ans[i];
}
else{
ask[v[j]]=1-ans[i];
}
}
k=tryCombination(ask);
if(k==-1 || k>i){
lol=mid;
r=mid-1;
}
else l=mid+1;
}
pos[i]=v[lol];
boo[i]=1;
}
answer(ans,pos);
}
Compilation message (stderr)
cave.cpp: In function 'void exploreCave(int)':
cave.cpp:28:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(j=0;j<v.size();j++){
~^~~~~~~~~
# | 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... |