但不够简洁
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
int a[105] = {};
int tong[1005] = {};
int main() {
int n, ans = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
tong[a[i]]++;
}
for (int i = 1; i <= 1000; i++) {
if (tong[i] > 0) {
ans++;
}
}
printf("%d\n", ans);
for (int i = 1; i <= 1000; i++) {
if (tong[i] > 0) {
printf("%d ", i);
}
}
return 0;
}