#include #include int asc(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main(void) { int N = 0; int edgh[100000]; int *p = NULL; int cnt = 0; int sinkisei = 0; scanf("%d", &N); //edgh = (int *)malloc(N); //終端位置を-1にする p = edgh + N; *p = -1; p = edgh; for (int i = 0; i < N; i++) { scanf("%d", p); p++; } //昇順にソートする qsort(edgh, N, sizeof(int), asc); p = edgh; while (*p != -1) { if (*p == *(p + 1)) { cnt++; } if (*p != *(p + 1) && cnt == 0) { sinkisei += 1; } if (*p != *(p + 1) && cnt > 0) { cnt = 0; } p++; } printf("%d\n", sinkisei); return 0; }