Submission #719170

#TimeUsernameProblemLanguageResultExecution timeMemory
719170TahirAliyev동굴 (IOI13_cave)C++17
0 / 100
75 ms408 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; void exploreCave(int n){ int comb[n]; memset(comb, 0, sizeof(comb)); int doors[n]; int s[n]; vector<int> switches(n); for (int i = 0; i < n; i++) { switches[i] = i; } for (int i = 0; i < n; i++) { int a = tryCombination(comb); if(a > i || a == -1){ for (int j = 0; j < switches.size(); j++) { comb[switches[j]] ^= 1; } } int l = 0, r = switches.size() - 1; int ans = 0; while(l < r){ int m = (l + r) / 2; for(int j = l; j <= m; j++){ comb[switches[j]] ^= 1; } int a = tryCombination(comb); for (int j = l; j <= m; j++) { comb[switches[j]] ^= 1; } if(a > i || a == -1){ r = m; ans = m; } else{ l = m + 1; ans = m + 1; } } doors[switches[ans]] = i; s[i] = switches[ans]; switches.erase(switches.begin() + ans); } while(true){ int d = tryCombination(comb); if(d == -1) break; comb[s[d]] ^= 1; } answer(comb, doors); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:20:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |             for (int j = 0; j < switches.size(); j++)
      |                             ~~^~~~~~~~~~~~~~~~~
#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...