Submission #1211808

#TimeUsernameProblemLanguageResultExecution timeMemory
1211808simona1230Rarest Insects (IOI22_insects)C++20
0 / 100
0 ms408 KiB
#include "insects.h"
#include <bits/stdc++.h>
using namespace std;

int min_cardinality(int N)
{
    int d=0;
    vector<int> v;
    for(int i=0;i<N;i++)
    {
        move_inside(i);
        int x=press_button();
        if(x==2) move_outside(i);
        else v.push_back(i),d++;
    }

    for(int i=0;i<v.size();i++)
        move_outside(v[i]);

    vector<int> s;
    for(int i=0;i<N;i++)
        s.push_back(i);

    int ans=0,r=N/2;
    while(r!=0)
    {
        vector<int> s1,s2;
        for(int i=0;i<s.size();i++)
        {
            move_inside(s[i]);
            int x=press_button();
            if(x==r+1)
            {
                s1.push_back(s[i]);
                move_outside(s[i]);
            }
            else
            {
                s2.push_back(s[i]);
            }
        }
        for(int i=0;i<s2.size();i++)
            move_outside(s2[i]);

        if(s2.size()==d*r)
        {
            ans+=r;
            s=s1;
        }
        else s=s2;

        r/=2;
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...