Submission #1088562

#TimeUsernameProblemLanguageResultExecution timeMemory
1088562terracottaliteICC (CEOI16_icc)C++14
0 / 100
1 ms348 KiB
#include <stdio.h> #include "icc.h" #include <set> #include <vector> using namespace std; void run(int n) { vector<int> a[101]; for (int i=1;i<=n;i++) a[i].push_back(i); vector<int> ff; vector<int> ss; set<int> st; for (int i=0;i<n-1;i++) { for (int j=0;j<6;j++) { ff.clear(); ss.clear(); for (auto x : st) { if ((x>>j)&1) { for (auto k : a[x]) ff.push_back(k); } else { for (auto k : a[x]) ss.push_back(k); } } if (query(ff.size(), ss.size(), ff.data(), ss.data())) break;; } int l=0; int r=ff.size(); while (r-l>1) { int m = (l+r)/2; if (query(r-m, ss.size(), ff.data()+m, ss.data())) l = m; else r = m; } int l2=0; int r2=ss.size(); while (r2-l2>1) { int m = (l2+r2)/2; if (query(r2-m, ss.size(), ff.data()+l, ss.data()+m)) l = m; else r = m; } for (auto k : a[l2]) a[l].push_back(k); a[l2].clear(); st.erase(l2); setRoad(l, l2); } }
#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...