281
Cerinţa
Se dau n
numere naturale cu cel mult două cifre fiecare. Afişaţi valorile distincte în ordinea descrescătoare a numărului de apariţii.
Date de intrare
Fişierul de intrare frecventa1.in
conţine pe prima linie numărul n
; urmează cele n
numere, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire frecventa1.out
va conţine pe prima linie valorile distincte dintre cele n
, în ordinea descrescătoare a numărului de apariţii.
Restricţii şi precizări
1 ≤ n ≤ 100000
- dacă două valori apar de acelaşi număr de ori, se va afişa mai întâi valoarea mai mică
Exemplu
frecventa1.in
8 3 19 3 65 3 19 14 3
frecventa1.out
3 19 14 65
#include <bits/stdc++.h> using namespace std; ifstream fin("frecventa1.in"); ofstream fout("frecventa1.out"); int main() { int f[100]={0}; int n; fin >> n; int tmp; int max=0; for(int i = 0 ; i < n ; ++i) { fin >> tmp; f[tmp]++; if(f[tmp]>max) max=f[tmp]; } for(int i = max ; i > 0 ; --i) { for(int j = 0 ; j < 100 ; ++j) { if(f[j]==i) fout << j << ' '; } } return 0; }
Comentarii