#include
void quicksort(int arr[], int l, int r) {
if (l >= r)
return ;
int left = l;
int right = r;
int pivot = arr[left];
while (left < right) {
while (arr[right] >= pivot && left < right)
right--;
if (left < right)
arr[left] = arr[right];
while (arr[left] <= pivot && left < right)
left++;
if (left < right)
arr[right] = arr[left];
if (left == right)
arr[left] = pivot;
}
quicksort(arr, l, left);
quicksort(arr, left + 1, r);
}
int main() {
int a[500003];
int i, j, sum = 0, n, count = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
quicksort(a, 1, n);
j = n;
i = n / 2;
while (i) {
if (a[j] >= a[i] * 2) {
count++;
j--;
i--;
} else {
i--;
}
}
sum = count + n - count * 2;
printf("%d", sum);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)