提交记录 18927


用户 题目 状态 得分 用时 内存 语言 代码长度
user1 1001. 测测你的排序 Time Limit Exceeded 0 5 s 390636 KB C++ 573 B
提交时间 评测时间
2023-01-25 01:12:13 2023-01-25 01:12:22
#include <algorithm>

template<int N>
void sortB(unsigned *a, int n) {
	if (n<32) {
		std::sort (a, a+n);
		return;
	}
	int cnt[16] = {};
	for (int i=0; i<n; ++i) cnt[(a[i]>>4*N)&15]++;
	unsigned *begin[16], *end[16];
	for (int i=0; i<16; ++i) {
		begin[i] = a;
		end[i] = a+=cnt[i];
	}
	for (int i=0; i<15; ++i) {
		while (begin[i] != end[i]) {
			std::swap(*begin[i], *--end[(*begin[i]>>4*N)&15]);
		}
	}
	for (int i=0; i<16; ++i) {
		sortB<N-1> (begin[i], cnt[i]);
	}
}
template<>
void sortB<-1>(unsigned *a, int n) {}

void sort(unsigned *a, int n) {
	sortB<7>(a, n);
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #15 s381 MB + 492 KBTime Limit ExceededScore: 0


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