Submission #1170722

#TimeUsernameProblemLanguageResultExecution timeMemory
1170722thelegendary08Rarest Insects (IOI22_insects)C++17
0 / 100
0 ms408 KiB
#include "insects.h" #include<bits/stdc++.h> #define vi vector<int> #define pb push_back #define FOR(i, k, n) for(int i = k; i<n; i++) #define f0r(i,n) for(int i = 0; i< n; i++) #define mp make_pair #define pii pair<int,int> #define vout(x) for(auto u : x)cout<<u<<' '; cout<<'\n'; using namespace std; int min_cardinality(int n) { vi col(n, -1); int cur = 0; col[0] = 0; move_inside(0); move_inside(1); int x = press_button(); if(x == 2)col[1] = col[0]; FOR(i, 2, n){ move_outside(i-1); move_inside(i); int x = press_button(); if(x == 2){ col[i] = col[0]; } } // vout(col); move_outside(n-1); move_outside(0); FOR(i, 1, n){ if(col[i] != -1)continue; cur++; col[i] = cur; move_inside(i); int lst = -1; FOR(j, i + 1, n){ if(col[j] != -1)continue; if(lst != -1)move_outside(lst); move_inside(j); lst = j; int x = press_button(); if(x == 2){ // cout<<i<<' '<<j<<'\n'; col[j] = col[i]; } } move_outside(i); move_outside(lst); } // vout(col); vi cnt(cur + 1); f0r(i, n)cnt[col[i]]++; int ans = 1e9; f0r(i, cur + 1){ ans = min(ans, cnt[i]); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...