Submission #858686

#TimeUsernameProblemLanguageResultExecution timeMemory
858686imarnRarest Insects (IOI22_insects)C++17
10 / 100
103 ms596 KiB
#include<bits/stdc++.h>
#include "insects.h"
#define f first
#define s second
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define pll pair<ll,ll>
//#define sz(x) (ll)x.size()
#define all(x) x.begin(),x.end()
using namespace std;
int pr[401]{0};
int sz[401]{0};
int get(int r){
    return pr[r]==r?r:pr[r]=get(pr[r]);
}
int min_cardinality(int N)
{
    iota(pr,pr+N+1,0);
    for(int i=0;i<N+1;i++)sz[i]=1;
    for(int i=0;i<N;i++){
        for(int j=i+1;j<N;j++){
            move_inside(i);
            move_inside(j);
            int u=get(i);
            int v=get(j);
            if(press_button()==2&&u!=v){
                sz[u]+=sz[v];
                pr[v]=get(u);
            }move_outside(i);
            move_outside(j);
        }
    }int ans=1e9;
    for(int i=0;i<N;i++)ans=min(ans,sz[get(i)]);
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...