제출 #824274

#제출 시각아이디문제언어결과실행 시간메모리
824274boyliguanhan드문 곤충 (IOI22_insects)C++17
0 / 100
1 ms208 KiB
#include "insects.h" #include<bits/stdc++.h> using namespace std; int min_cardinality(int N) { vector<pair<int, int>> groups{{1,0}}; for(int i = 1; i < N; i++) { int mv=1e9,mc; for(auto j:groups) if(j.first<mv) mv=j.first,mc=1; else if(j.first==mv) mc++; if(mc>N-i) { return mv; } vector<int> v; move_inside(i); for(auto i: groups) v.push_back(i.second), move_inside(i.second); int x = press_button(); for(auto i: v) move_outside(i); if(x-1) { int l = 0, r = v.size()-1; while(l<r) { int mid = l+r>>1; for(int j = l; j <= mid; j++) move_inside(v[i]); x = press_button(); for(int j = l; j <= mid; j++) move_outside(v[i]); if(x-1) { r = mid; } else { l = mid+1; } } groups[l].first++; } else groups.push_back({1,i}); move_outside(i); } return min_element(groups.begin(), groups.end())->first; }

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

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:26:28: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   26 |                 int mid = l+r>>1;
      |                           ~^~
insects.cpp:12:19: warning: 'mc' may be used uninitialized in this function [-Wmaybe-uninitialized]
   12 |                 mc++;
      |                 ~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...