Submission #836195

#TimeUsernameProblemLanguageResultExecution timeMemory
836195unnickMinerals (JOI19_minerals)C++14
80 / 100
26 ms2564 KiB
#include "minerals.h" #include <vector> using namespace std; int baseline = 0; bool cpair(int i) { int tmp = Query(i); bool tmp2 = tmp == baseline; baseline = tmp; return tmp2; } vector<int> fst; vector<int> snd; void search(bool filled, int l, int h, vector<int> v) { if (h-l == 1) { Answer(fst[l], v[0]); return; } int m = (l+h)/2; vector<int> lv; vector<int> hv; for (int i = l; i < m; i++) cpair(fst[i]); for (int i = 0; i < h-l; i++) { if (cpair(v[i]) != filled) { lv.push_back(v[i]); } else { hv.push_back(v[i]); } } search(!filled, l, m, lv); search(filled, m, h, hv); } void Solve(int N) { int prev = 0; for (int i = 1; i <= N*2; i++) { if (cpair(i)) fst.push_back(i); } for (int i = 1, j = 0; i <= N*2; i++) { if (j<N && i == fst[j]) { j++; continue; } snd.push_back(i); } search(true, 0, N, snd); }

Compilation message (stderr)

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:38:7: warning: unused variable 'prev' [-Wunused-variable]
   38 |   int prev = 0;
      |       ^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...