Submission #859824

#TimeUsernameProblemLanguageResultExecution timeMemory
859824vjudge1드문 곤충 (IOI22_insects)C++17
57.78 / 100
86 ms1780 KiB
#include<bits/stdc++.h>
#include"insects.h"
using namespace std;
int min_cardinality(int N){
    vector<int> u;
    map<int, int> tipo;
    vector<int> v;
    for(int i=0; i<N; i++){
        move_inside(i);
        if(press_button()==1){
            u.push_back(i);
            tipo[i]=u.size()-1;
        }else{
            move_outside(i);
            v.push_back(i);
        }
    }
    for(int i: u) move_outside(i);
    int pot=1;
    int U = u.size();
    while(pot<=U){
        for(int i: u) if((tipo[i]&pot)!=0) move_inside(i);
        for(int i:v){
            move_inside(i);
            if(press_button()!=1){
                tipo[i]+=pot;
            }
            move_outside(i);
        }
        for(int i: u) if((tipo[i]&pot)!=0) move_outside(i);
        pot*=2;
    }
    map<int, int> m;
    for(int i=0; i<N; i++) m[tipo[i]]++;
    int minimo = N;
    for(auto l: m){
        minimo=min(minimo, l.second);
    }
    return minimo;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...