# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
909815 | guechotjrhh | Minerals (JOI19_minerals) | C++14 | 17 ms | 2648 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "minerals.h"
#include<vector>
#include<set>
using namespace std;
int n, s;
void solve(vector<int>& in, vector<int>& rest) {
if (in.size() == 1) { Query(in[0]); Answer(in[0], rest[0]); return; }
//better cut - not 1/2
vector<int> in1, in2;
for (int i = 0; i < in.size() / 2; i++) in1.push_back(in[i]);
for (int i = in.size() / 2; i < in.size(); i++) in2.push_back(in[i]);
//get rest for in1. possible better - not to take out right away
for (int i : in2) Query(i);
vector<int> rest1, rest2;
for (int j : rest) {
int u = Query(j); Query(j);
if (u == in1.size()) rest1.push_back(j);
else rest2.push_back(j);
}
solve(in1, rest1);
for (int i : in2) Query(i);
solve(in2, rest2);
}
void Solve(int N) {
n = N; s = n << 1;
int sz = 0;
vector<int> in, rest;
for (int i = 1; i <= s; i++) {
int u = Query(i);
if (u > sz) {
sz = u;
in.push_back(i);
}
else {
rest.push_back(i);
Query(i);
}
}
solve(in, rest);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |