Submission #615427

#TimeUsernameProblemLanguageResultExecution timeMemory
615427valerikkMinerals (JOI19_minerals)C++17
40 / 100
32 ms3156 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; mt19937 gen(239); int diff; int query(int x) { return diff = Query(x); } void solve(vector<int> a, vector<int> b) { assert(a.size() == b.size()); if (a.size() == 1) { Answer(a[0], b[0]); return; } int n = a.size(); vector<int> al, ar, bl, br; for (int i = 0; i < n / 2; ++i) { query(a[i]); al.push_back(a[i]); } for (int i = n / 2; i < n; ++i) { ar.push_back(a[i]); } for (int i = 0; i < n; ++i) { int old_diff = diff; if (query(b[i]) > old_diff) { bl.push_back(b[i]); } else { query(b[i]); br.push_back(b[i]); } } solve(bl, al); solve(ar, br); } void Solve(int N) { vector<int> a, b; for (int i = 1; i <= 2 * N; ++i) { int old_diff = diff; if (query(i) > old_diff) { a.push_back(i); } else { query(i); b.push_back(i); } } solve(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...