Submission #432123

#TimeUsernameProblemLanguageResultExecution timeMemory
432123MilosMilutinovicCave (IOI13_cave)C++14
Compilation error
0 ms0 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int tryCombination(int S[]); void answer(int S[], int D[]); void exploreCave(int N) { int combination[N]; for (int i = 0; i < N; i++) combination[i] = 0; bool locked[N]; for (int i = 0; i < N; i++) locked[i] = false; int position[N]; for (int i = 0; i < N; i++) { vector<int> positions; for (int j = 0; j < N; j++) if (!locked[j]) positions.push_back(j); int current = tryCombination(combination); bool is_correct = (current == -1 || current > i); if (!is_correct) { int bot = 0, top = (int) positions.size() - 1, pos = -1; while (bot <= top) { int mid = bot + top >> 1; for (int j = 0; j <= mid; j++) combination[positions[j]] ^= 1; int value = tryCombination(combination); if (value == -1 || value > i) ans = mid, bot = mid + 1; else top = mid - 1; for (int j = 0; j <= mid; j++) combination[positions[j]] ^= 1; } assert(pos != -1); combination[positions[pos]] = 1; locked[positions[pos]] = true; position[ans] = i; } else { int bot = 0, top = (int) positions.size() - 1, pos = -1; while (bot <= top) { int mid = bot + top >> 1; for (int j = 0; j <= mid; j++) combination[positions[j]] ^= 1; int value = tryCombination(combination); if (value == i) ans = mid, bot = mid + 1; else top = mid - 1; for (int j = 0; j <= mid; j++) combination[positions[j]] ^= 1; } assert(pos != -1); locked[positions[pos]] = true; position[ans] = i; } } answer(combination, position); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:31:31: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   31 |                 int mid = bot + top >> 1;
      |                           ~~~~^~~~~
cave.cpp:37:21: error: 'ans' was not declared in this scope; did you mean 'abs'?
   37 |                     ans = mid, bot = mid + 1;
      |                     ^~~
      |                     abs
cave.cpp:47:22: error: 'ans' was not declared in this scope; did you mean 'abs'?
   47 |             position[ans] = i;
      |                      ^~~
      |                      abs
cave.cpp:51:31: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   51 |                 int mid = bot + top >> 1;
      |                           ~~~~^~~~~
cave.cpp:57:21: error: 'ans' was not declared in this scope; did you mean 'abs'?
   57 |                     ans = mid, bot = mid + 1;
      |                     ^~~
      |                     abs
cave.cpp:66:22: error: 'ans' was not declared in this scope; did you mean 'abs'?
   66 |             position[ans] = i;
      |                      ^~~
      |                      abs