提交记录 19286


用户 题目 状态 得分 用时 内存 语言 代码长度
GNAQ 1001a. 测测你的排序2 Wrong Answer 0 856.7 us 52 KB C++ 594 B
提交时间 评测时间
2023-03-20 17:37:38 2023-03-20 17:37:41
#include <algorithm>
#include <ctime>
#include <random>
using namespace std;

template<typename T>
void QSort(int l, int r, T *arr, mt19937 &mtgen) {
	if (l == r)
		return;
	uniform_int_distribution<int> dist(0, r - l);
	T pivot = arr[dist(mtgen) + l];
	int i = l, j = r;
	while (i <= j) { 
		while (arr[i] < pivot)
			i++;
		while (arr[j] > pivot)
			j--;
		if (i <= j) {
			swap(arr[i], arr[j]);
			i++;
			j--;
		}
	}
	if (j > l)
		QSort(l, j, arr, mtgen);
	if (i < r)
		QSort(i, r, arr, mtgen);
}

void sort(unsigned *a, int n) {
        mt19937 mtgen(time(NULL));
	QSort(1, n, a, mtgen);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1856.7 us52 KBWrong AnswerScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-20 16:18:33 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用