Submission #882162

#TimeUsernameProblemLanguageResultExecution timeMemory
882162androCave (IOI13_cave)C++14
0 / 100
21 ms600 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std;
/*
int n;
void answer(int S[],int D[]){
    for(int i=0;i<n;i++)cout<<S[i]<<" ";
    cout<<endl;
    for(int i=0;i<n;i++)cout<<D[i]<<" ";
    exit(0);
}
int tryCombination(int S[]){
    cout<<"? ";
    for(int i=0;i<n;i++)cout<<S[i]<<" ";
    cout<<endl;
    int x;
    cin>>x;
    return x;
}*/
void exploreCave(int N) {
    int S[N];
    int D[N];
    for(int i=0;i<N;i++){
        S[i]=0;
    }
    for(int i=0;i<N;i++){
        int A=tryCombination(S);
        if(A==-1)break;
        if(A>=i+1){

        }
        else {
            S[i]=1;
        }
    }
    for(int i=0;i<N;i++){
        int l=0,r=N-1,p=-1;
        while(l<=r){
            int mid=(l+r)/2;
            for(int j=mid+1;j<N;j++)S[j]^=1;
            if(tryCombination(S)>=i+1){
                r=mid-1;
                p=mid;
            }
            else {
                l=mid+1;
            }
            for(int j=mid+1;j<N;j++)S[j]^=j;
        }
        D[p]=i;
    }
    answer(S,D);
}/*
signed main(){
    cin>>n;
    exploreCave(n);
}*/
#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...