20到100分,为什么数组10 001过不了,100 001可以?
查看原帖
20到100分,为什么数组10 001过不了,100 001可以?
84539
WangRui楼主2021/3/22 18:59

很奇怪,这是20分,1ac + 4个点re

#include <iostream>
#include <cstdio>
using namespace std;
int n, a[10001];
void quickSort(int l, int r){
	int mid = a[(l+r) / 2];
	int i = l, j = r;
	do{
		while(a[i] < mid)	i++;
		while(a[j] > mid)	j--;
		if(i <= j){
			swap(a[i], a[j]);
			i++;	j--;
		}
	}while(i <= j);
	if(l < j)	quickSort(l, j);
	if(i < r)	quickSort(i, r);
}
int main(){
//	freopen("1.in", "r", stdin);//	freopen(".out", "w", stdout);
	int n;
	scanf("%d", &n);
	for(int i = 1; i <= n; i++)
		scanf("%d", &a[i]);
 	quickSort(1, n);
	for(int i = 1; i <= n; i++)
		printf("%d ", a[i]);
//	fclose(stdin);	//fclose(stdout);
	return 0; 
}
2021/3/22 18:59
加载中...