This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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();
set<int> S;
while(pot<=U){
for(int i: u){
if((tipo[i]&pot)!=0){
if(S.find(i)==S.end())move_inside(i);
S.insert(i);
}else{
if(S.find(i)!=S.end())move_outside(i);
S.erase(i);
}
}
for(int i:v){
move_inside(i);
if(press_button()!=1){
tipo[i]+=pot;
}
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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |