제출 #726342

#제출 시각아이디문제언어결과실행 시간메모리
726342ismayil드문 곤충 (IOI22_insects)C++17
0 / 100
18 ms312 KiB
#pragma GCC optimize("O3") #include "insects.h" #include <bits/stdc++.h> using namespace std; //g++ -std=c++17 insects.cpp stub.cpp int D, N; const int MAX = 3000; int is_in[MAX]; multiset<int> in; bool check(int m){ vector<int> new_in; for(int j = 0; j < N; j++){ if(is_in[j]) continue; move_inside(j); if(press_button() > m){ move_outside(j); }else{ in.insert(j); new_in.push_back(j); } } bool flag = false; if(in.size() < m * D){ flag = true; while(!new_in.empty()) move_outside(new_in.back()), in.erase(new_in.back()), new_in.pop_back(); } return flag; } int min_cardinality(int n) { N = n; for(int j = 0; j < N; j++){ move_inside(j); if(press_button() > 1){ move_outside(j); }else{ in.insert(j); is_in[j] = 1; } } D = in.size(); int l = 1, r = N / D; while(l <= r){ int m = (l + r) / 2; if(check(m)) r = m - 1; else l = m + 1; } return r; }

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

insects.cpp: In function 'bool check(int)':
insects.cpp:23:15: warning: comparison of integer expressions of different signedness: 'std::multiset<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |  if(in.size() < m * D){
      |     ~~~~~~~~~~^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...