#include void Swap(int *a, int *b); void Quick_sort(int A[], int left, int right); void Swap(int *a, int *b){ int tmp; tmp = *a; *a = *b; *b = tmp; } void Quick_sort(int A[], int left, int right){ int pivot, i, j; pivot = A[(left + right)/2]; i = left; j = right; while(1){ while(1){ if(A[i] < pivot){ i++; }else{ break; } } while(1){ if(A[j] > pivot){ j--; }else{ break; } } if(i >= j) break; Swap(&A[i], &A[j]); i++; j--; } if(i - 1 > left){ Quick_sort(A, left, i - 1); } if(j + 1 < right){ Quick_sort(A, j + 1, right); } } int main(){ int N, i, cnt = 0, A[100000]; scanf("%d\n", &N); for(i = 0; i < N; i++){ scanf("%d", &A[i]); } Quick_sort(A, 0, N - 1); for(i = 1; i < N; i++){ if((A[i] - A[i - 1]) > 0){ cnt++; } } printf("%d\n", cnt); return 0; }