Submission #857519

#TimeUsernameProblemLanguageResultExecution timeMemory
857519chilinhxyzabcCave (IOI13_cave)C++17
25 / 100
79 ms524 KiB
#include <bits/stdc++.h>
#include "cave.h"
using namespace std; 

void exploreCave(int n) {
    int s[n], d[n];
    for(int i = 0; i < n; i++) {
        s[i] = 0;
        d[i] = -1;
    }
    for(int i = 0; i < n; i++) {
        int curDoor = tryCombination(s);
        if(curDoor == -1)
            break;
        else {
            int l = i, r = n - 1, res;
            while(l <= r) {
                int m = (l + r) / 2;
                s[m] = 1 - s[m];
                int door = tryCombination(s);
                if(curDoor == door) {
                    r = m - 1;
                } else {
                    l = m + 1;
                    res = m;
                }
                s[m] = 1 - s[m];
            }
            d[res] = curDoor;
            s[res] = 1 - s[res];
            i = res;
        }
    }
    for(int i = 0; i < n; i++) {
        if(d[i] != -1)
            continue;
        s[i] = 1 - s[i];
        int door = tryCombination(s);
        d[i] = door;
        s[i] = 1 - s[i];
    }
    answer(s, d);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:11:5: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   11 |     for(int i = 0; i < n; i++) {
      |     ^~~
#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...