제출 #1057080

#제출 시각아이디문제언어결과실행 시간메모리
1057080vjudge1드문 곤충 (IOI22_insects)C++17
50 / 100
109 ms1356 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; using vi = vector<int>; using ii = pair<int, int>; int min_cardinality(int n) { int d = 0; vi Cul; for(int i = 0; i < n; ++i) { move_inside(i); if(press_button() == 1) { Cul.push_back(i); ++d; } else move_outside(i); } for(auto it : Cul) move_outside(it); int re = 0; int st = 0, dr = n / d, mij; set<int> S; for(int i = 0; i < n; ++i) S.insert(i); while(st < dr) { mij = (st + dr + 1) / 2; set<int> I; for(auto it : S) { move_inside(it); if(press_button() == mij + 1) { move_outside(it); } else { I.insert(it); } } if(I.size() == d * mij) { for(auto it : I) { S.erase(it); } re += mij; st = 0; dr = dr - mij; } else { dr = mij - 1; } for(auto it : I) move_outside(it); } return re + st; }

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

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:38:21: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |         if(I.size() == d * mij) {
      |            ~~~~~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...