Submission #1085356

#TimeUsernameProblemLanguageResultExecution timeMemory
1085356minggaCave (IOI13_cave)C++17
100 / 100
221 ms604 KiB
#include "cave.h"
#include "bits/stdc++.h"

using namespace std;

#define ln "\n"
#define dbg(x) cout << #x << " = " << x << ln
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define inf 2e18
#define fast_cin()                  \
  ios_base::sync_with_stdio(false); \
  cin.tie(NULL)
#define out(file) freopen(file, "w", stdout)
#define in(file) freopen(file, "r", stdin)
#define all(x) (x).begin(), (x).end()
#define sz(x) ((int)(x).size())
// #define int long long
int MOD = 1e9 + 7;
const int n = 5005;

int comb[n], ans1[n], ans2[n];
void exploreCave(int n) {
  vector<int> vis(n, 0);
  for(int i = 0; i < n; i++) {
    comb[i] = 0;
  }
  for(int i = 0; i < n; i++) {
    int s = tryCombination(comb);
    int col = (s > i or s == -1) ? 0 : 1;
    int l = 0, r = n - 1, res;
    while(l <= r) {
      int m = (l + r) >> 1;
      for(int i = l; i <= m; i++) {
        if(vis[i]) continue;
        comb[i] ^= 1;
      }
      int cur = tryCombination(comb);
      for(int i = l; i <= m; i++) {
        if(vis[i]) continue;
        comb[i] ^= 1;
      }
      int col1 = (cur > i or cur == -1) ? 0 : 1;
      if(col1 == col) {
        l = m + 1;
      } else {
        res = m;
        r = m - 1;
      }
    }
    ans1[res] = col;
    ans2[res] = i; 
    vis[res] = 1;
    comb[res] = col;
  }
  answer(ans1, ans2);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:56:15: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   56 |     comb[res] = col;
      |     ~~~~~~~~~~^~~~~
#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...