#include #include #define _CRT_SECURE_NO_WARNINGS 1 int asc(const void *a, const void *b) { return *(int *)a - *(int *)b; } int main(void) { int N = 0; int *edgh = NULL; int *p = NULL; int cnt = 0; int sinkisei = 0; scanf("%d", &N); edgh = (int *)malloc(N); //終端位置をNULLにする 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); free(edgh); return 0; }