Submission #488416

#TimeUsernameProblemLanguageResultExecution timeMemory
488416SlavicGCave (IOI13_cave)C++17
13 / 100
290 ms372 KiB
#include "bits/stdc++.h" #include"cave.h" using namespace std; #define ll long long #define forn(i,n) for(int i=0;i<n;i++) #define all(v) v.begin(), v.end() #define rall(v) v.rbegin(),v.rend() #define pb push_back #define sz(a) (int)a.size() /* int tryCombination(vector<int> s){return 0;} void answer(vector<int> s, vector<int> k){return;} */ void exploreCave(int n){ int door[n], color[n]; if(n == 1){ door[0] = 0; color[0] = 0; if(tryCombination(color) == 0)color[0] = !color[0]; answer(color, door); return; } for(int i = 0;i < n; ++i){ color[i] = 0, door[i] = -1; } for(int pizza = 0;pizza < n; ++pizza){ for(int i = 0;i < n; ++i) if(door[i] != -1)color[i] = 0; int f = tryCombination(color); int l = 0, r = n - 1, c = 1; while(l < r){ if(f == -1 || f > pizza){ //door opens }else{ for(int i = l;i <= r; ++i){ if(door[i] == -1)color[i] = !color[i]; } } int mid = l + r >> 1; for(int i = l;i <= mid; ++i){ if(door[i] == -1)color[i] = !color[i]; } f = tryCombination(color); if(f == pizza){ //closed door r = mid; c = !color[l]; }else{ l = mid + 1; c = color[l]; } } door[l] = pizza; color[l] = c; } answer(color, door); } /* void solve() { } int32_t main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; //cin >> t; while(t--) { solve(); } } */

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:51:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   51 |             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...