제출 #551888

#제출 시각아이디문제언어결과실행 시간메모리
551888AntekbSuper Dango Maker (JOI22_dango3)C++17
100 / 100
446 ms712 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); namespace{ } void Solve(int N, int M) { vector<int> V(N*M); for(int i=0; i<N*M; i++){ V[i]=i+1; } for(int j=0; j<M; j++){ shuffle(V.begin(), V.end(), rng); vector<int> V2; int l=1, r=V.size(); while(l<r){ int m=(l+r)>>1; V2=V; V2.resize(m); if(Query(V2))r=m; else l=m+1; } V2.clear(); vector<int> V3; while(V.size()>l){ V3.push_back(V.back()); V.pop_back(); } while(V.size()){ int x=V.back(); V.pop_back(); //cerr<<V.size()<<"a\n"; for(int i:V2)V.push_back(i); //cerr<<V.size()<<"a\n"; int b=Query(V); //cerr<<V.size()<<"a\n"; for(int i:V2)V.pop_back(); //cerr<<V.size()<<"a\n"; if(!b)V2.push_back(x); else V3.push_back(x); } assert(V2.size()==N); Answer(V2); V=V3; } }

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

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:26:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   26 |   while(V.size()>l){
      |         ~~~~~~~~^~
dango3.cpp:38:12: warning: unused variable 'i' [-Wunused-variable]
   38 |    for(int i:V2)V.pop_back();
      |            ^
In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from dango3.cpp:2:
dango3.cpp:43:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |   assert(V2.size()==N);
      |          ~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...