提交记录 19287


用户 题目 状态 得分 用时 内存 语言 代码长度
GNAQ 1001a. 测测你的排序2 Wrong Answer 0 865.19 us 52 KB C++ 594 B
提交时间 评测时间
2023-03-20 17:40:28 2023-03-20 17:40:30
#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;
	do
	{
		while (arr[i] < pivot)
			i++;
		while (arr[j] > pivot)
			j--;
		if (i <= j)
		{
			swap(arr[i], arr[j]);
			i++;
			j--;
		}
	} while (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 #1865.19 us52 KBWrong AnswerScore: 0


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