提交记录 15707


用户 题目 状态 得分 用时 内存 语言 代码长度
konjacq 1001. 测测你的排序 Accepted 100 1.043 s 781272 KB C++11 1.33 KB
提交时间 评测时间
2021-01-25 12:01:59 2021-01-25 12:02:04
#include <cstring>

void sort(unsigned int *sort_l,int sort_n) {
	static unsigned int sort_c[256],*sort_r=sort_l+sort_n,*sort_x=new unsigned int[sort_n];
	memset(sort_c,0,sizeof(sort_c));
	for (unsigned int *i=sort_l;i<sort_r;++i) ++sort_c[(*i)&255];
	for (unsigned int i=1;i<256;++i) sort_c[i]+=sort_c[i-1];
	for (unsigned int *i=sort_r-1;i>=sort_l;--i) sort_x[--sort_c[(*i)&255]]=*i;
	memcpy(sort_l,sort_x,(sort_r-sort_l)*sizeof(unsigned int));
	memset(sort_c,0,sizeof(sort_c));
	for (unsigned int *i=sort_l;i<sort_r;++i) ++sort_c[((*i)>>8)&255];
	for (unsigned int i=1;i<256;++i) sort_c[i]+=sort_c[i-1];
	for (unsigned int *i=sort_r-1;i>=sort_l;--i) sort_x[--sort_c[((*i)>>8)&255]]=*i;
	memcpy(sort_l,sort_x,(sort_r-sort_l)*sizeof(unsigned int));
	memset(sort_c,0,sizeof(sort_c));
	for (unsigned int *i=sort_l;i<sort_r;++i) ++sort_c[((*i)>>16)&255];
	for (unsigned int i=1;i<256;++i) sort_c[i]+=sort_c[i-1];
	for (unsigned int *i=sort_r-1;i>=sort_l;--i) sort_x[--sort_c[((*i)>>16)&255]]=*i;
	memcpy(sort_l,sort_x,(sort_r-sort_l)*sizeof(unsigned int));
	memset(sort_c,0,sizeof(sort_c));
	for (unsigned int *i=sort_l;i<sort_r;++i) ++sort_c[((*i)>>24)&255];
	for (unsigned int i=1;i<256;++i) sort_c[i]+=sort_c[i-1];
	for (unsigned int *i=sort_r-1;i>=sort_l;--i) sort_x[--sort_c[((*i)>>24)&255]]=*i;
	memcpy(sort_l,sort_x,(sort_r-sort_l)*sizeof(unsigned int));
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.043 s762 MB + 984 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2024-05-08 02:48:26 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用