제출 #113667

#제출 시각아이디문제언어결과실행 시간메모리
113667Adhyyan1252사육제 (CEOI14_carnival)C++11
0 / 100
10 ms384 KiB
#include<bits/stdc++.h> using namespace std; int query(const vector<int>& a){ if(a.size() == 0) return 0; cout<<a.size()<<endl; for(int b: a) cout<<b+1<<" "; cout<<endl; int ret; cin>>ret; return ret; } int main(){ int n; cin>>n; vector<int> a(n, -1); a[0] = 1; int pntr = 2; vector<int> diff; diff.push_back(0); for(int i = 1; i < n; i++){ int low = 0, high = diff.size()-1, mid; vector<int> c(diff); c.push_back(i); if(query(c) == c.size()){ //this is a new one a[i]= pntr; pntr++; diff.push_back(i); continue; } while(low < high){ mid = (low + high)/2; vector<int> b(diff.begin() + low, diff.begin() + mid + 1); b.push_back(i); int q = query(b); if(q == (int)(b.size()-1)){ //means that they share the shit high = mid; }else{ low = mid+1; } } mid = (low + high)/2; a[i] = a[mid]; } cout<<0<<" "; for(int i = 0; i < n; i++) cout<<a[i]<<" "; cout<<endl; }

컴파일 시 표준 에러 (stderr) 메시지

carnival.cpp: In function 'int main()':
carnival.cpp:23:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(query(c) == c.size()){
      ~~~~~~~~~^~~~~~~~~~~
#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...