제출 #475237

#제출 시각아이디문제언어결과실행 시간메모리
475237MohamedAhmed04사육제 (CEOI14_carnival)C++14
100 / 100
10 ms304 KiB
#include <bits/stdc++.h> using namespace std ; const int MAX = 1e5 + 10 ; int ans[MAX] ; int n ; int query(vector<int>&v) { cout<<v.size() ; for(auto &i : v) cout<<" "<<i ; cout<<endl ; int x ; cin>>x ; return x ; } int main() { // ios_base::sync_with_stdio(0) ; // cin.tie(0) ; cin>>n ; vector<int>v = {1} , v2 ; ans[1] = 1 ; for(int i = 2 ; i <= n ; ++i) { v.push_back(i) ; int x = query(v) ; if(x == v.size()) { ans[i] = v.size() ; continue ; } v.pop_back() ; int l = 0 , r = v.size() - 1 , idx = -1 ; while(l <= r) { int mid = (l + r) >> 1 ; v2.clear() ; for(int i = 0 ; i <= mid ; ++i) v2.push_back(v[i]) ; v2.push_back(i) ; if(query(v2) == v2.size() - 1) idx = mid , r = mid-1 ; else l = mid+1 ; } assert(idx != -1) ; ans[i] = ans[v[idx]] ; } cout<<0 ; for(int i = 1 ; i <= n ; ++i) cout<<" "<<ans[i] ; cout<<endl ; return 0 ; }

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

carnival.cpp: In function 'int main()':
carnival.cpp:32:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |   if(x == v.size())
      |      ~~^~~~~~~~~~~
carnival.cpp:46:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |    if(query(v2) == v2.size() - 1)
      |       ~~~~~~~~~~^~~~~~~~~~~~~~~~
#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...