提交记录 15936


用户 题目 状态 得分 用时 内存 语言 代码长度
worstcoder 1001a. 测测你的排序2 Accepted 100 67.56 us 92 KB C++ 938 B
提交时间 评测时间
2021-02-27 00:51:32 2021-02-27 00:51:33
void sort(unsigned *a, int n)
{
#define N 10000
#define D 256
#define D1 255
#define cal(w, w2, tw, op)                \
	p = w2 - 1;                           \
	for (i = 0; i < D; ++i)               \
		rs[i] = p, p += tw[i];            \
	for (i = 0; i < N; i += 8)            \
	{                                     \
		p = w + i;                        \
		*++rs[p[0] op] = p[0],            \
				   *++rs[p[1] op] = p[1], \
				   *++rs[p[2] op] = p[2], \
				   *++rs[p[3] op] = p[3], \
				   *++rs[p[4] op] = p[4], \
				   *++rs[p[5] op] = p[5], \
				   *++rs[p[6] op] = p[6], \
				   *++rs[p[7] op] = p[7]; \
	}
	unsigned b[N], *rs[D], t0[D], t1[D], t2[D], t3[D];
	unsigned *p, i, x;

	for (i = 0; i < N;)
	{
#define A x = a[i], ++t0[x & D1], ++t1[x >> 8 & D1], ++t2[x >> 16 & D1], ++t3[x >> 24], ++i;
		A A A A
#undef A
	}
	cal(a, b, t0, &D1);
	cal(b, a, t1, >> 8 & D1);
	cal(a, b, t2, >> 16 & D1);
	cal(b, a, t3, >> 24);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #167.56 us92 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2024-12-05 10:20:05 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠