#include<cstdio> #include<map> #include<algorithm> using namespace std; map<int, int> mp; int n, c, a[1000], pcnt; pair<int, int> p[1000]; int main() { scanf("%d%d", &n, &c); for (int i = 0, x; i<n; i++) { scanf("%d", a + i); mp[a[i]]++; } for (int i = 0; i<n; i++) { if (mp[a[i]]) p[pcnt++] = { -mp[a[i]],i }, mp[a[i]] = 0; } sort(p, p + pcnt); for (int i = 0; i<pcnt; i++) { while (p[i].first++) printf("%d ", a[p[i].second]); } return 0; }
2910번: 빈도 정렬
https://www.acmicpc.net/problem/2910
피드 구독하기:
댓글
(
Atom
)
댓글 없음 :
댓글 쓰기