#include <bits/stdc++.h> using namespace std; // pair <int,int> t[50008]; int t[50009]; int n, w, ilo; int main() { cin.tie(0); ios_base::sync_with_stdio(false); cout.tie(0); cin >> n; // for(int i=0; i<n; i++){ // t[i].second=i; // } for (int i = 0; i < n; i++) { int a; cin >> a; t[a]++; } sort(t, t + n + 1); reverse(t, t + n + 1); int i = 0; while (w < n && i <= n) { if (t[i] > 0) { w += (t[i]) * 2 - 1; // cout<<t[i]<<" "<<w<<'\n'; ilo++; } i++; } cout << ilo; }
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 31 32 33 34 35 36 37 38 39 40 41 42 | #include <bits/stdc++.h> using namespace std; // pair <int,int> t[50008]; int t[50009]; int n, w, ilo; int main() { cin.tie(0); ios_base::sync_with_stdio(false); cout.tie(0); cin >> n; // for(int i=0; i<n; i++){ // t[i].second=i; // } for (int i = 0; i < n; i++) { int a; cin >> a; t[a]++; } sort(t, t + n + 1); reverse(t, t + n + 1); int i = 0; while (w < n && i <= n) { if (t[i] > 0) { w += (t[i]) * 2 - 1; // cout<<t[i]<<" "<<w<<'\n'; ilo++; } i++; } cout << ilo; } |