Submission #1310672

#TimeUsernameProblemLanguageResultExecution timeMemory
1310672theiuliusCave (IOI13_cave)C++20
0 / 100
150 ms532 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
// #include "graderlib.c"
#include "cave.h"
int t = 1;

void exploreCave(int n) {
    int a[n] = {}, b[n] = {};
    for (int i = 0; i < n; i++){ // doors
        int x = tryCombination(a);
        if (x > i || x == -1){ // gagebulia i
            a[i] = 0;
        }else{
            a[i] = 1; // kari 1-ze igeba
        }
        
        int l = i, r = n - 1, ans = n - 1;
        while (l <= r){
            int mid = (l + r) / 2;
            for (int j = i; j <= mid; j++){
                a[j] = b[i];
            }
            for (int j = mid + 1; j < n; j++){
                a[j] = 1 ^ b[i];
            }
            x = tryCombination(a);
            
            if (x > i || x == -1){
                r = mid - 1;
                ans = mid;
            }else{
                l = mid + 1;
            }
        }
        
        b[ans] = i;
    }
    
    answer(a, b);
}

// int main() {
//     int N;
// 	N = init();
// 	exploreCave(N);
//     printf("INCORRECT\nYour solution did not call answer().\n");
// 	return 0;
// }
#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...