Submission #128210

#TimeUsernameProblemLanguageResultExecution timeMemory
128210mohammedehab2002Minerals (JOI19_minerals)C++14
80 / 100
73 ms3956 KiB
#include "minerals.h" #include <vector> using namespace std; int cur=0; vector<int> v1,v2; bool query(int x) { int tmp=Query(x); if (cur==tmp) return 1; cur=tmp; return 0; } void solve(vector<int> a,vector<int> b,bool added) { if (a.empty()) return; if (a.size()==1) { Answer(a[0],b[0]); return; } int mid=(2*a.size()+1)/3; vector<int> aa[2],bb[2]; for (int i=0;i<a.size();i++) { if (i<mid) { aa[0].push_back(a[i]); if (!added) query(a[i]); } else { aa[1].push_back(a[i]); if (added) query(a[i]); } } for (int i=0;i<b.size()-1;i++) { if (query(b[i])) bb[0].push_back(b[i]); else bb[1].push_back(b[i]); } if (aa[0].size()==bb[0].size()) bb[1].push_back(b.back()); else bb[0].push_back(b.back()); solve(aa[0],bb[0],1); solve(aa[1],bb[1],0); } void Solve(int n) { for (int i=1;i<=2*n;i++) { if (query(i)) v2.push_back(i); else v1.push_back(i); } solve(v1,v2,1); }

Compilation message (stderr)

minerals.cpp: In function 'void solve(std::vector<int>, std::vector<int>, bool)':
minerals.cpp:25:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=0;i<a.size();i++)
               ~^~~~~~~~~
minerals.cpp:40:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=0;i<b.size()-1;i++)
               ~^~~~~~~~~~~
#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...