# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
133223 | SirCeness | Minerals (JOI19_minerals) | C++14 | 30 ms | 2724 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 <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define mp make_pair
#define pb push_back
#define bas(x) #x << ": " << x << " "
#define prarr(x, n) cout << #x << ": "; for (int qsd = 0; qsd < n; qsd++) cout << x[qsd] << " "; cout << endl;
#define prarrv(x) cout << #x << ": "; for (int qsd = 0; qsd < (int)x.size(); qsd++) cout << x[qsd] << " "; cout << endl;
#define inside sl<=l&&r<=sr
#define outside sr<l||r<sl
typedef long long ll;
bitset<50000> son;
int n;
void bol(vector<int>& arr){
//prarrv(arr);
//if (arr.size() == 1) assert(0);
if (arr.size() == 2) Answer(arr[0]+1, arr[1]+1);
else {
int prt = 1;
int last = 0;
vector<int> var;
vector<int> arr1, arr2;
for (int i = 0; i < arr.size(); i++){
//cout << "i: " << arr[i] << endl;
if (son[arr[i]] == 0){
//cout << "son: 0" << endl;
if (prt){
//cout << "ekle: 1" << endl;
last = Query(arr[i]+1);
var.pb(arr[i]);
arr1.pb(arr[i]);
} else {
//cout << "ekle: 2" << endl;
arr2.pb(arr[i]);
}
prt = !prt;
} else {
//cout << "son: 1" << endl;
int ans = Query(arr[i]+1);
var.pb(arr[i]);
//cout << bas(ans) << bas(last) << endl;
if (ans == last) arr1.pb(arr[i]);
else arr2.pb(arr[i]);
last = ans;
}
}
for (int i = 0; i < var.size(); i++){
Query(var[i]+1);
}
bol(arr1);
bol(arr2);
}
}
void Solve(int N){
n = 2*N;
int last = 0;
for (int i = 0; i < n; i++){
int ans = Query(i+1);
son[i] = (ans == last);
last = ans;
}
for (int i = 0; i < n; i++) Query(i+1);
vector<int> nums(n);
for (int i = 0; i < n; i++) nums[i] = i;
bol(nums);
}
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... |