提交时间:2023-09-15 14:02:22

运行 ID: 103023

#include <iostream> #include <algorithm> #include <cstdio> #include <cmath> using namespace std; const int MAXN = 1e3 + 1e2; struct node { int num; int hum; } c[MAXN]; bool cmp(node x, node y) { if (x.hum != y.hum) return x.hum > y.hum; else return x.num < y.num; } int n; int main() { scanf("%d", &n); for (int i = 1;i <= 1000;i++) c[i].num = i; for (int i = 1;i <= n;i++) { int k; scanf(" %d", &k); c[k].hum++; } sort(c + 1, c + 1000 + 1, cmp); bool flag = true; for (int i = 1;i <= 1e3;i++) { if (c[i].hum == 0) continue; if (flag) { printf("%d", c[i].num); flag = false; continue; } printf("->%d", c[i].num); } return 0; }