Submission #1310874

#TimeUsernameProblemLanguageResultExecution timeMemory
1310874nataliaaCave (IOI13_cave)C++20
100 / 100
234 ms520 KiB
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
    int v[N]={};
    int a[N] ={};
    int vis[N]={};
    for(int i = 0; i < N; i++) {
        for(int j =0; j < N; j++) {
            if(vis[j]==0) a[j] = 0;
        }
        int ind = 0;
        int k = tryCombination(a);
        if(k==i) ind = 1; 

        for(int j =0; j < N; j++) {
            if(vis[j]==0) a[j] = 1-ind;
        }
        int ok=0;
        int l = 0, r= N-1;
        while(l<r) {
            int m = (l+r)/2;
            for(int j =l; j <= m; j++) {
                if(vis[j]==0) a[j] = ind;
            }
            k = tryCombination(a);
            for(int j =l; j <= m; j++) {
                if(vis[j]==0) a[j] = 1-ind;
            }
            if(k!=i) {r = m; ok = r;}
            else {l=m+1; ok = l;}
        }
        vis[ok] = 1;
        a[ok] = ind;
        v[ok] =i;
    }
     answer( a,v);
}
#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...