提交记录 9387


用户 题目 状态 得分 用时 内存 语言 代码长度
siyuan 1001. 测测你的排序 Runtime Error 0 657.184 ms 781264 KB C++11 731 B
提交时间 评测时间
2019-05-05 21:01:17 2020-08-01 01:37:25
typedef unsigned int uint;

void sort(uint *a, int n) {
	uint t[100000000];
	register uint b0[256], b1[256], b2[256], b3[256], *ed = a + n;
	for (register uint *i = a; i != ed; i++) {
		b0[*i & 255]++, b1[(*i >> 8) & 255]++, b2[(*i >> 16) & 255]++, b3[*i >> 24]++;
	}
	for (register int i = 1; i < 256; i++) {
		b0[i] += b0[i - 1], b1[i] += b1[i - 1], b2[i] += b2[i - 1], b3[i] += b3[i - 1];
	}
	for (register uint *i = a + n - 1; i != a; i--) {
		t[--b0[*i & 255]] = *i;
	}
	for (register uint *i = t + n - 1; i != t; i--) {
		a[--b1[(*i >> 8) & 255]] = *i;
	}
	for (register uint *i = a + n - 1; i != a; i--) {
		t[--b2[(*i >> 16) & 255]] = *i;
	}
	for (register uint *i = t + n - 1; i != t; i--) {
		a[--b3[*i >> 24]] = *i;
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #1657.184 ms762 MB + 976 KBRuntime ErrorScore: 0


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