#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector<int> count(500'001); int max_value = 0; int sum = n; for (int i = 0; i < n; ++i) { int a; cin >> a; count[a]++; max_value = max(max_value, a); } count.resize(max_value + 1); sort(count.begin(), count.end()); int max_iter = (count.size() - 1); int seq = 0; while (sum > 0) { sum -= 2 * count[max_iter] - 1; max_iter--; seq++; } cout << seq << "\n"; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector<int> count(500'001); int max_value = 0; int sum = n; for (int i = 0; i < n; ++i) { int a; cin >> a; count[a]++; max_value = max(max_value, a); } count.resize(max_value + 1); sort(count.begin(), count.end()); int max_iter = (count.size() - 1); int seq = 0; while (sum > 0) { sum -= 2 * count[max_iter] - 1; max_iter--; seq++; } cout << seq << "\n"; } |