# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1072811 | Cyanberry | Minerals (JOI19_minerals) | C++14 | 1 ms | 592 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 <bits/stdc++.h>
using namespace std;
#include "minerals.h"
void Solve(int types) {
bool side[types * 2];
int sT[types], sF[types], relT[types], relF[types], match[types * 2], limits[types * 2];
for (int i=0; i<types * 2; ++i) {
side[i] = false;
match[i] = 0;
}
int last = 0, sTc = 0, sFc = 0;
for (int i=0; i<types * 2; ++i) {
int curr = Query(i+1);
if (curr > last) {
++last;
sT[sTc] = i+1;
++sTc;
side[i] = true;
} else {
sF[sFc] = i+1;
++sFc;
limits[i] = sTc;
}
}
bool inside[types];
for (int i =0; i < types; ++i) {
inside[i] = true;
}
for (int i = log2(types); i >= 0; --i) {
// for (int i : match) {
// cerr<<i<<' ';
// }
// cerr<<'\n';
for (int j = 0; j < types; ++j) {
if (((j & (1<<i)) > 0) == inside[j]) {
last = Query(sT[j]);
inside[j] = !inside[j];
}
}
for (int j =0; j < types; ++j) {
if (j > limits[sF[j]-1]) continue;
int curr = Query(sF[j]);
if (curr != last) {
match[sF[j]-1] |= (1<<i);
last = curr;
}
}
}
for (int i = 0; i < types * 2; ++i) {
if (match[i] > 0) {
Answer(i+1, sT[match[i]]);
}
}
}
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... |