qsort해서 풀었는데 안느리네?



              int n;

cin >> n;

int* arr1 = new int[n];

int* arr2 = new int[n];

for (int i = 0; i < n; i++)

cin >> arr1[i];


qsort(arr1, n, sizeof(int), compare);


int count = 0;


for (int i = 0; i < n; i++)

{

arr2[i] = arr1[i]+n - i;

}


int max = arr2[0];

for (int i = 1; i < n; i++)

if (max <= arr2[i])

max = arr2[i];

for (int i = 0; i < n; i++)

{

if (arr1[i] + n >= max)

count++;

}


delete[] arr1;

delete[] arr2;