Submission #388833

#TimeUsernameProblemLanguageResultExecution timeMemory
388833kshitij_sodaniMinerals (JOI19_minerals)C++14
40 / 100
98 ms6336 KiB
//#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second #define endl '\n' #include "minerals.h" vector<pair<int,int>> ans; set<int> xx; void solve(vector<int> aa,vector<int> bb){ if(aa.size()==1){ ans.pb({aa[0],bb[0]}); return; } int cur=0; vector<int> cc; vector<int> dd; vector<int> ee; vector<int> ff; map<int,int> ss; map<int,int> tt; for(auto j:xx){ ss[j]++; } for(int i=0;i<aa.size();i++){ if(i*2>=aa.size()){ dd.pb(aa[i]); continue; } // cur=Query(aa[i]); cc.pb(aa[i]); tt[aa[i]]++; } for(auto j:tt){ if(ss.find(j.a)==ss.end()){ xx.insert(j.a); Query(j.a); } } for(auto j:ss){ if(tt.find(j.a)==tt.end()){ xx.erase(j.a); Query(j.a); } } cur=cc.size(); for(int i=0;i<bb.size();i++){ int cur2=Query(bb[i]); Query(bb[i]); if(cur2==cur){ ee.pb(bb[i]); continue; } ff.pb(bb[i]); } solve(cc,ee); solve(dd,ff); } void Solve(int n) { vector<int> aa; vector<int> bb; int cur5=0; for(int i=1;i<=2*n;i++){ int cur2=Query(i); if(cur2>cur5){ aa.pb(i); cur5=cur2; continue; } bb.pb(i); Query(i); } for(auto j:aa){ Query(j); } solve(aa,bb); for (int i=0; i<n;i++) { Answer(ans[i].a,ans[i].b); } }

Compilation message (stderr)

minerals.cpp: In function 'void solve(std::vector<int>, std::vector<int>)':
minerals.cpp:31:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |  for(int i=0;i<aa.size();i++){
      |              ~^~~~~~~~~~
minerals.cpp:32:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |   if(i*2>=aa.size()){
      |      ~~~^~~~~~~~~~~
minerals.cpp:54:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |  for(int i=0;i<bb.size();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...