| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1330886 | Nika533 | Minerals (JOI19_minerals) | C++20 | 21 ms | 5956 KiB |
#pragma GCC diagnostic warning "-std=c++11"
#include <bits/stdc++.h>
#include "minerals.h"
#define pb push_back
#define f first
#define s second
#define MOD 1000000007
#define flush fflush(stdout)
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define pii pair<int,int>
using namespace std;
const int NN=1e6+5;
int n,m,T,k,st[NN],xx;
vector<int> t[NN];
vector<int> a,b;
int cnt=2;
void rec(int v, int tl, int tr) {
// cout<<"VVV "<<v<<" "<<tl<<" "<<tr<<" "<<t[v].size()<<endl;
// for (auto idx:t[v]) {
// cout<<a[idx]<<" ";
// }
// cout<<endl;
if (tl==tr) {
Answer(a[t[v][0]],b[tl]);
return;
}
int v1=cnt; cnt++;
int v2=cnt; cnt++;
int mid=(tl+tr*2)/3;
for (int i=tl; i<=mid; i++) {
if (st[b[i]]!=1) {
xx=Query(b[i]);
st[b[i]]=1-st[b[i]];
}
}
for (int i=mid+1; i<=tr; i++) {
if (st[b[i]]!=0) {
xx=Query(b[i]);
st[b[i]]=1-st[b[i]];
}
}
for (auto idx:t[v]) {
int yy=Query(a[idx]);
if (xx==yy) t[v1].pb(idx);
else t[v2].pb(idx);
xx=Query(a[idx]);
}
rec(v1,tl,mid);
for (int i=tl; i<=mid; i++) {
if (st[b[i]]!=0) {
xx=Query(b[i]);
st[b[i]]=1-st[b[i]];
}
}
rec(v2,mid+1,tr);
for (int i=mid+1; i<=tr; i++) {
if (st[b[i]]!=0) {
xx=Query(b[i]);
st[b[i]]=1-st[b[i]];
}
}
}
void Solve(int N) {
n=N;
int y=0;
a.pb(0); b.pb(0);
for (int i=1; i<=n*2; i++) {
xx=Query(i);
if (xx==y) b.pb(i);
else a.pb(i);
y=xx;
st[i]=1;
}
// cout<<"AA"<<endl;
// for (auto A:a) cout<<A<<" "; cout<<endl;
// cout<<"BB"<<endl;
// for (auto B:b) cout<<B<<" "; cout<<endl;
for (int i=1; i<=n; i++) t[1].pb(i);
rec(1,1,n);
}
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... | ||||
