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,lel;
bool boo[5001];
vector<ll>v;
void exploreCave(int n){
memset(boo,0,sizeof boo);
for(i=0;i<n;i++){
v.clear();
for(j=0;j<n;j++){
if(boo[j]==0) ask[j]=0,v.pub(j);
else ask[j]=ans[j];
}
k=tryCombination(ask);
if(k==-1 || k>i) lel=0;
else lel=1;
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]]=lel;
}
else{
ask[v[j]]=1-lel;
}
}
k=tryCombination(ask);
if(k==-1 || k>i){
lol=mid;
r=mid-1;
}
else l=mid+1;
}
pos[v[lol]]=i;
ans[v[lol]]=lel;
boo[i]=1;
}
answer(ans,pos);
}
Compilation message (stderr)
cave.cpp: In function 'void exploreCave(int)':
cave.cpp:29: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... |