Submission #1076473

#TimeUsernameProblemLanguageResultExecution timeMemory
1076473BoasRarest Insects (IOI22_insects)C++17
0 / 100
15 ms344 KiB
#include "insects.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define loop(x, i) for (int i = 0; i < x; i++) #define rev(x, i) for (int i = (int)x - 1; i >= 0; i--) #define ALL(x) begin(x), end(x) #define sz(x) (int)x.size() typedef pair<int, int> ii; typedef vector<ii> vii; typedef vector<bool> vb; typedef vector<int> vi; typedef vector<vi> vvi; int min_cardinality(int N) { vi ix(N); iota(ALL(ix), 0); // std::random_device rd; // std::mt19937 g(rd()); // std::shuffle(ix.begin(), ix.end(), g); vvi S(N); int iter = 1; S[0].pb(0); move_inside(ix[0]); for (int i = 1; i < N; i++) { move_inside(ix[i]); int res = press_button(); if (res == 2) { move_outside(ix[i]); S[1].pb(i); } else S[0].pb(i); } int t = sz(S[0]); while (sz(S[iter])) { if (sz(S[iter]) < t) return iter; int curSize = 1; for (int i : S[iter - 1]) move_outside(ix[i]); move_inside(ix[S[iter][0]]); for (int s_ix = 1; s_ix < sz(S[iter]); s_ix++) { int i = S[iter][s_ix]; move_inside(ix[i]); int res = press_button(); if (res == 2) { move_outside(ix[i]); S[iter + 1].pb(i); } else curSize++; } if (curSize < t) return iter; } }

Compilation message (stderr)

insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:20:10: warning: control reaches end of non-void function [-Wreturn-type]
   20 |   vi ix(N);
      |          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...