| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1072847 | Cyanberry | Minerals (JOI19_minerals) | C++14 | 3 ms | 344 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], 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 = 1; 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 (!side[i]) {
            cerr<<match[i]<<' ';
            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... | ||||
