Submission #1335677

#TimeUsernameProblemLanguageResultExecution timeMemory
1335677yhkhooRarest Insects (IOI22_insects)C++17
0 / 100
0 ms412 KiB
#include "insects.h"
#include <bits/stdc++.h>
using namespace std;

#define qry() press_button()
#define in(x) move_inside(x)
#define out(x) move_outside(x)
#define vi basic_string<int>

int min_cardinality(int n) {
    vi f, nf;
    for(int i=0; i<n; i++){
        in(i);
        if(qry() == 1){
            f += i;
        }
        else{
            out(i);
            nf += i;
        }
    }
    int l = 1, r = (n + f.size() - 1) / f.size(), m;
    //cerr << l << ' ' << r << '\n';
    vi woah;
    while(l < r){
        m = (l+r+1)/2;
        int cnt = 0;
        for(auto i: nf){
            in(i);
            cnt++;
            if(qry() > m){
                out(i);
                cnt--;
            }
            else{
                woah += i;
            }
        }
        if(cnt != m * f.size()){ // m too big
            r = m-1;
        }
        else{ // m ok
            l = m;
        }
    }
    return l;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...