Submission #654629

#TimeUsernameProblemLanguageResultExecution timeMemory
654629uyluluLibrary (JOI18_library)C++14
100 / 100
479 ms444 KiB
#include<bits/stdc++.h> #include <cstdio> #include <vector> #include "library.h" using namespace std; int n; int ask(vector<int> st) { vector<int> num(n,0); for(auto u : st) { num[u - 1] = 1; } return Query(num); } const int N = 1e3; int res[N + 1]; vector<int> crr; bool check[N + 1]; void dnc(int lst) { if(crr.size() == 1) { res[lst + 1] = crr[0]; check[res[lst + 1]] = true; crr.clear(); return; } vector<int> fi,se; for(int i = 0;i < crr.size()/2;i++) { fi.push_back(crr[i]); } for(int i = crr.size()/2;i < crr.size();i++) { se.push_back(crr[i]); } int dad = ask(fi); fi.push_back(res[lst]); int mom = ask(fi); if(dad == mom) { fi.pop_back(); crr = fi; } else { crr = se; } dnc(lst); } void Solve(int len) { n = len; if(n == 1) { Answer({1}); return; } for(int i = 1;i <= n;i++) { vector<int> asd; for(int j = 1;j <= n;j++) { if(i == j) continue; asd.push_back(j); } if(ask(asd) == 1) { res[1] = i; break; } } check[res[1]] = true; for(int i = 2;i <= n;i++) { crr.clear(); for(int j = 1;j <= n;j++) { if(!check[j]) { crr.push_back(j); } } dnc(i - 1); } vector<int> kq(n,0); for(int i = 0;i < n;i++) { kq[i] = res[i + 1]; } Answer(kq); return; }

Compilation message (stderr)

library.cpp: In function 'void dnc(int)':
library.cpp:33:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |  for(int i = 0;i < crr.size()/2;i++) {
      |                ~~^~~~~~~~~~~~~~
library.cpp:36:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |  for(int i = crr.size()/2;i < crr.size();i++) {
      |                           ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...