提交记录 1011


用户 题目 状态 得分 用时 内存 语言 代码长度
FoolMike 1001. 测测你的排序 Runtime Error 0 127.163 ms 936 KB C 563 B
提交时间 评测时间
2018-06-20 18:09:20 2020-07-31 20:45:33
#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];
	free(b);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1127.163 ms936 KBRuntime ErrorScore: 0


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