Submission #1232635

#TimeUsernameProblemLanguageResultExecution timeMemory
1232635dzuizzMinerals (JOI19_minerals)C++20
40 / 100
9 ms2252 KiB
#include <bits/stdc++.h> #include "minerals.h" using namespace std; constexpr int N=43410; bool qry[N]; int a,b; void f(vector<int>&x,vector<int>&y){ int n=(int)x.size(); if(n==1){ Answer(x[0],y[0]); return; } vector<int> nx[2],ny[2]; for(int i=0;i<n;++i){ if(i<n/2){ if(qry[y[i]]) a=b,b=Query(y[i]),qry[y[i]]=0; ny[0].emplace_back(y[i]); }else{ if(!qry[y[i]]) a=b,b=Query(y[i]),qry[y[i]]=1; ny[1].emplace_back(y[i]); } } for(int i=0;i<n;++i){ a=b,b=Query(x[i]),qry[x[i]]=!qry[x[i]]; nx[a==b].emplace_back(x[i]); } f(nx[0],ny[0]); f(nx[1],ny[1]); } void Solve(int N) { vector<int> x,y; for(int i=1;i<=2*N;++i){ a=b,b=Query(i),qry[i]=1; if(a==b) y.emplace_back(i); else x.emplace_back(i); } f(x,y); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...