Submission #1072998

#TimeUsernameProblemLanguageResultExecution timeMemory
1072998Double_SlashMinerals (JOI19_minerals)C++17
40 / 100
16 ms2648 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; using ll = long long; void dfs(int n, const vector<int> &a, const vector<int> &b, bool empty = true) { if (n == 1) { Answer(a.front(), b.front()); if (not empty) Query(a.front()); return; } int m = (n + 1) >> 1; vector<int> al, ar, bl, br; for (int i = 0; i < m; ++i) { al.emplace_back(a[i]); if (empty) Query(a[i]); } for (int i = m; i < n; ++i) { ar.emplace_back(a[i]); if (not empty) Query(a[i]); } for (int i = 0; i < n; ++i) { if (Query(b[i]) == m) { bl.emplace_back(b[i]); } else { br.emplace_back(b[i]); } Query(b[i]); } dfs(m, al, bl, false); dfs(n - m, ar, br, true); } void Solve(int N) { vector<int> a, b; for (int i = 1; i <= N * 2; ++i) { if (Query(i) == a.size()) { Query(i); b.emplace_back(i); } else { a.emplace_back(i); } } dfs(N, a, b, false); }

Compilation message (stderr)

minerals.cpp: In function 'void Solve(int)':
minerals.cpp:38:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |         if (Query(i) == a.size()) {
      |             ~~~~~~~~~^~~~~~~~~~~
#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...