Submission #830509

#TimeUsernameProblemLanguageResultExecution timeMemory
830509tolbiRarest Insects (IOI22_insects)C++17
10 / 100
218 ms328 KiB
#include <bits/stdc++.h> using namespace std; mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count()); #include "insects.h" int min_cardinality(int n) { vector<int> par(n); function<int(int)> find = [&](int node)->int{ if (par[node]==node) return node; return par[node]=find(par[node]); }; vector<int> hueh(n); iota(hueh.begin(), hueh.end(), 0); for (int i = n-1; i >= 0; i--){ swap(hueh[i],hueh[ayahya()%(i+1)]); } vector<int> sz(n,1); iota(par.begin(), par.end(), 0); vector<int> crr; function<int()> findx; findx = [&]()->int{ for (int i = 0; i < crr.size(); i++){ move_outside(crr[i]); if (press_button()==1){ for (int j=0;j<=i;j++){ move_inside(crr[j]); } return i; } } return 23; }; for (int kk = 0; kk < n; kk++){ int i = hueh[kk]; move_inside(i); if (press_button()>1){ int pos = crr[findx()]; sz[find(pos)]+=sz[find(i)]; sz[find(i)]=0; par[i]=find(pos); move_outside(i); } else crr.push_back(i); } int ans = n; for (int i = 0; i < n; i++){ if (find(i)!=i) continue; ans=min(ans,sz[i]); } return ans; }

Compilation message (stderr)

insects.cpp: In lambda function:
insects.cpp:21:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         for (int i = 0; i < crr.size(); i++){
      |                         ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...