Submission #1202640

#TimeUsernameProblemLanguageResultExecution timeMemory
1202640NAMINMinerals (JOI19_minerals)C++20
0 / 100
1 ms416 KiB
#include <bits/stdc++.h> #include "minerals.h" using namespace std; void calc(vector<int> A,vector<int> B){ assert(A.size()==B.size()); int n=A.size(); if(n==1){ Answer(A.back(),B.back()); return; } for(int i=0;i<n/2;i++){ Query(A[i]); } vector<int> inG,outG; for(int i=0;i<n;i++){ if(Query(B[i])==n/2) inG.push_back(B[i]); else outG.push_back(B[i]); Query(B[i]); } for(int i=0;i<n/2;i++){ Query(A[i]); } vector<int> a1,a2; for(int i=0;i<n/2;i++){ a1.push_back(A[i]); } for(int i=n/2;i<n;i++){ a2.push_back(A[i]); } calc(a1,inG); calc(a2,outG); } void Solve(int N) { vector<int> A,B; for(int i=1;i<=2*N;i++){ int now = Query(i); if(A.size()==now){ B.push_back(i); Query(i); } else{ A.push_back(i); } } calc(A,B); }
#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...