Submission #991056

#TimeUsernameProblemLanguageResultExecution timeMemory
991056Muhammet동굴 (IOI13_cave)C++17
0 / 100
397 ms548 KiB
#include <bits/stdc++.h>
#include "cave.h"

using namespace std;

void exploreCave(int n) {
    int s[n], a[n], b[n], vis[n];
    for(int i = 0; i < n; i++) vis[i] = a[i] = b[i] = 0;
    for(int i = 0; i < n; i++){
        bool tr1 = 0;
        int l = 0, r = n-1;
        int x = tryCombination(a);
        while(l < r){
            int md = (l + r) / 2;
            for(int j = 0; j < n; j++){
                if(vis[j] == 0){
                    if(j >= l and j <= md) s[j] = 1;
                    else s[j] = 0;
                }
                else {
                    s[j] = a[j];
                }
            }
            int y = tryCombination(s);
            bool tr = 0;
            if(x == i){
                tr1 = 1;
                if(y != i){
                    tr = 1;
                }
            }
            else {
                if(y == i){
                    tr = 1;
                }
            }
             if(tr == 1){
                r = md;
            }
            else {
                l = md+1;
            }
        }
        vis[l] = 1;
        a[l] = tr1;
        b[i] = l;
    }

    answer(a, b);

    return;
}
#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...