#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using P = pair; int main() { int n, k; cin >> n >> k; vector a(n); rep(i, n) cin >> a[i]; rep(i, n) a[i]--; vector cnt(n); rep(i, n) cnt[a[i]]++; map mp; set s; rep(i, n) { if (s.count(a[i])) continue; mp[cnt[a[i]]]++; s.insert(a[i]); } vector

ps; for (auto [c, y] : mp) { ps.emplace_back(c, y); } sort(ps.rbegin(), ps.rend()); int ans = 0; for (auto [c, y] : ps) { while (y) { ans++; int nc = c; k -= nc; if (k <= 0) { cout << ans << '\n'; return 0; } y--; } } return 0; }