Submission #1322352

#TimeUsernameProblemLanguageResultExecution timeMemory
1322352mannshah1211Minerals (JOI19_minerals)C++20
40 / 100
15 ms3232 KiB
#include <bits/stdc++.h> #include "minerals.h" using namespace std; void Merge(vector<int> a, vector<int> b) { if (a.size() == 1) { Answer(a[0], b[0]); return; } vector<int> c, d, x, y; int p = 0; for (int i = 0; i < a.size() / 2; i++) { c.push_back(a[i]); p = Query(a[i]); } for (int i = a.size() / 2; i < a.size(); i++) { d.push_back(a[i]); } for (int i = 0; i < b.size(); i++) { if (Query(b[i]) == p + 1) { y.push_back(b[i]); } else { x.push_back(b[i]); } Query(b[i]); } for (int i = 0; i < a.size() / 2; i++) { Query(a[i]); } Merge(c, x); Merge(d, y); return; } void Solve(int n) { vector<int> a, b; int p = 0; for (int i = 1; i <= 2 * n; i++) { if (Query(i) == p + 1) { a.push_back(i); p++; } else { Query(i); b.push_back(i); } } for (int i = 0; i < n; i++) { Query(a[i]); } Merge(a, b); }
#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...