提交记录 1007


用户 题目 状态 得分 用时 内存 语言 代码长度
FoolMike 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C 567 B
提交时间 评测时间
2018-06-20 18:04:57 2020-07-31 20:45:25
#include<stdlib.h>
#include<string.h>

void sort(unsigned *a, int n) {
	const unsigned U = 1 << 16, All = U - 1;
	unsigned cnt[1 << 16];
	unsigned *b = (unsigned*)malloc(n << 18);
	memset(cnt, 0, 1 << 18);
	for (int i = 0; i < n; ++i) ++cnt[a[i] & All];
	for (int i = 1; i < All; ++i) cnt[i] += cnt[i - 1];
	for (int i = n - 1; ~i; --i) b[--cnt[a[i] & All]] = a[i];
	memset(cnt, 0, 1 << 18);
	for (int i = 0; i < n; ++i) ++cnt[b[i] >> 16];
	for (int i = 1; i < All; ++i) cnt[i] += cnt[i - 1];
	for (int i = n - 1; ~i; --i) a[--cnt[b[i] >> 16]] = b[i];
	delete[] b;
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-25 14:57:36 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠