Submission #1307845

#TimeUsernameProblemLanguageResultExecution timeMemory
1307845ayazCave (IOI13_cave)C++20
21 / 100
30 ms496 KiB
#include <bits/stdc++.h>
#include "cave.h"

using namespace std;

#define all(x) (x).begin(), (x).end()
#define isz(x) int(x.size())

using vi = vector<int>;
using ll = long long;
using pii = pair<int, int>;

const int inf = 1e9;
void exploreCave(int N) {
  int n = N;
  int s[n], d[n];
  fill(s, s + n, 1);
  fill(d, d + n, inf);
  for (int _ = 1; _ <= n; _++) {
    if (tryCombination(s) == -1) {
      break;
    }
    int idx = tryCombination(s);
    for (int i = 0; i < n; i++) {
      if (s[i] == 0) continue;
      s[i] = 0;
      int cur = tryCombination(s);
      if (cur == -1 || cur > idx) {
        d[i] = idx;
        break;
      }
      s[i] = 1;
    }
  }
  fill(s, s + n, 0);
  for (int _ = 1; _ <= n; _++) {
    if (tryCombination(s) == -1) {
      break;
    }
    int idx = tryCombination(s);
    for (int i = 0; i < n; i++) {
      if (s[i] == 1) continue;
      s[i] = 1;
      int cur = tryCombination(s);
      if (cur == -1 || cur > idx) {
        d[i] = idx;
        break;
      }
      s[i] = 0;
    }
  }
  assert(count(d, d + n, inf) == 0);
  answer(s, d);
}

Compilation message (stderr)

In file included from /usr/include/c++/13/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
                 from cave.cpp:1:
In function 'constexpr typename __gnu_cxx::__enable_if<std::__is_scalar<_Tp>::__value, void>::__type std::__fill_a1(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = int*; _Tp = int]',
    inlined from 'constexpr void std::__fill_a(_FIte, _FIte, const _Tp&) [with _FIte = int*; _Tp = int]' at /usr/include/c++/13/bits/stl_algobase.h:977:21,
    inlined from 'constexpr void std::fill(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = int*; _Tp = int]' at /usr/include/c++/13/bits/stl_algobase.h:1007:20,
    inlined from 'void exploreCave(int)' at cave.cpp:35:7:
/usr/include/c++/13/bits/stl_algobase.h:931:18: warning: 'void* __builtin_memset(void*, int, long unsigned int)' specified bound between 18446744065119617024 and 18446744073709551612 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
  931 |         *__first = __tmp;
      |         ~~~~~~~~~^~~~~~~
#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...