AcWing 3213. 数字排序
原题链接
简单
作者:
Value
,
2021-03-29 15:02:49
,
所有人可见
,
阅读 443
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
int t[N];
struct node{
int num, cnt;
}a[N];
bool cmp(node u, node q){
return u.cnt == q.cnt ? u.num < q.num : u.cnt > q.cnt;
}
int main(){
int n; cin >> n;
for(int i = 0; i < n; i ++ ){
int tmp; cin >> tmp;
t[tmp] ++ ;
}
int k = 0, i = 0;
while(i < N){
if(t[i] != 0) a[k ++ ] = {i, t[i]};
i ++ ;
}
sort(a, a + k, cmp);
for(int i = 0; i < k; i ++ ) cout << a[i].num << ' ' << a[i].cnt << endl;
return 0;
}