제출 #718912

#제출 시각아이디문제언어결과실행 시간메모리
718912baojiaopisu드문 곤충 (IOI22_insects)C++17
0 / 100
1 ms208 KiB
#include "insects.h" #include <cassert> #include <cstdio> #include <algorithm> #include <map> #include <set> #include <string> #include <vector> using namespace std; #define pb push_back int min_cardinality(int n) { freopen("output.txt", "w", stdout); vector<int> curr; for(int i = 0; i < n; i++) { move_inside(i); int x = press_button(); if(x > 1) move_outside(i); else curr.pb(i); } int num = curr.size(); int l = 1, r = n / curr.size(); for(auto x : curr) move_outside(x); curr.clear(); vector<int> q; for(int i = 0; i < n; i++) q.pb(i); int d = 0, ans = 0; while(l <= r) { int mid = (l + r) >> 1; vector<int> nxt_q; vector<int> cc = curr; vector<int> t; int cnt = 0; for(int i = 0; i < q.size(); i++) { move_inside(q[i]); int x = press_button(); if(x > mid) move_outside(q[i]), nxt_q.pb(q[i]); else curr.pb(q[i]), t.pb(q[i]), ++cnt; } if(cnt == (mid - d) * num) { d = mid; curr.clear(); q = nxt_q; ans = mid; l = mid + 1; } else { for(auto x : t) move_outside(x); curr = cc; q = t; r = mid - 1; } } return ans; }

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

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:39:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |     for(int i = 0; i < q.size(); i++) {
      |                    ~~^~~~~~~~~~
insects.cpp:15:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   freopen("output.txt", "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...