Submission #1078367

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10783672024-08-27 15:53:41allin27xRarest Insects (IOI22_insects)C++17
100 / 100
41 ms932 KiB
#include <bits/stdc++.h>
#include "insects.h"
using namespace std;
#define int long long
//void move_inside(int)
//void move_outside(int)
// int press_button()
signed min_cardinality(signed N){
std::random_device rd;
std::mt19937 g(rd());
vector<int> in,out; int k;
for (int i=0; i<N; i++) {
move_inside(i);
if (press_button() == 2) move_outside(i);
else in.push_back(i);
}
k = in.size(); for (int x: in) move_outside(x);
int ans = 0;
vector<int> tot; for (int i=0; i<N; i++) tot.push_back(i);
while (1) {
int mx = (int)tot.size()/k;
if (!mx) return ans;
int m = (mx+1) / 2;
in.clear(); out.clear();
shuffle(tot.begin(), tot.end(), g);
for (int x: tot) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:31:26: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   31 |             if (in.size()==m*k) {out.push_back(x); continue;}
      |                 ~~~~~~~~~^~~~~
insects.cpp:37:23: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   37 |         if (in.size() == m * k) {
      |             ~~~~~~~~~~^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...