Submission #1202668

#TimeUsernameProblemLanguageResultExecution timeMemory
1202668NAMINMinerals (JOI19_minerals)C++20
40 / 100
15 ms3076 KiB
#include "minerals.h" #include <bits/stdc++.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){ A.push_back(i); } else{ B.push_back(i); Query(i); } } for(auto x : A) Query(x); 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...