Submission #701152

#TimeUsernameProblemLanguageResultExecution timeMemory
701152mychecksedad동굴 (IOI13_cave)C++17
0 / 100
443 ms424 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int N) { int s[N], a[N], b[N]; vector<bool> vis(N, 0); for(int i = 0; i < N; ++i){ for(int j = 0; j < N; ++j) if(!vis[j]) s[j] = 0; int f = tryCombination(s); if(f > i){ a[i] = 0; }else{ a[i] = 1; } int l = 0, r = N - i - 1; b[i] = i; while(l <= r){ int mid = l+r>>1; for(int i = 0, c = 0; i < N; ++i){ if(!vis[i]){ if(c >= l && c < mid) s[i] = !a[i]; else if(c >= mid && c <= r) s[i] = a[i]; c++; } } int f = tryCombination(s); if(f > i){ b[i] = mid; l = mid + 1; }else{ r = mid - 1; } } s[b[i]] = a[i]; vis[b[i]] = 1; } answer(a, b); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:19:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   19 |             int mid = l+r>>1;
      |                       ~^~
#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...