#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"; } |
English