提交记录 6349


用户 题目 状态 得分 用时 内存 语言 代码长度
142857 1001. 测测你的排序 Accepted 100 1.044 s 781260 KB C++ 1.30 KB
提交时间 评测时间
2018-10-06 10:13:09 2020-08-01 00:42:34
int cnt[256];
unsigned b[100000000];
void sort(unsigned *a, int n) {
	for(int i=0;i<256;i++)
	{
		cnt[i]=0;
	}
	for(int i=0;i<n;i++)
	{
		cnt[a[i]&255]++;
	}
	for(int i=1;i<256;i++)
	{
		cnt[i]+=cnt[i-1];
	}
	for(int i=255;i>0;i--)
	{
		cnt[i]=cnt[i-1];
	}
	cnt[0]=0;
	for(int i=0;i<n;i++)
	{
		b[cnt[a[i]&255]++]=a[i];
	}
	for(int i=0;i<n;i++)
	{
		a[i]=b[i];
		if(i>0)
		{
			while((a[i]&255)<(b[i]&255));
		}
	}
	for(int i=0;i<256;i++)
	{
		cnt[i]=0;
	}
	for(int i=0;i<n;i++)
	{
		cnt[(a[i]>>8)&255]++;
	}
	for(int i=1;i<256;i++)
	{
		cnt[i]+=cnt[i-1];
	}
	for(int i=255;i>0;i--)
	{
		cnt[i]=cnt[i-1];
	}
	cnt[0]=0;
	for(int i=0;i<n;i++)
	{
		b[cnt[(a[i]>>8)&255]++]=a[i];
	}
	for(int i=0;i<n;i++)
	{
		a[i]=b[i];
	}
	for(int i=0;i<256;i++)
	{
		cnt[i]=0;
	}
	for(int i=0;i<n;i++)
	{
		cnt[(a[i]>>16)&255]++;
	}
	for(int i=1;i<256;i++)
	{
		cnt[i]+=cnt[i-1];
	}
	for(int i=255;i>0;i--)
	{
		cnt[i]=cnt[i-1];
	}
	cnt[0]=0;
	for(int i=0;i<n;i++)
	{
		b[cnt[(a[i]>>16)&255]++]=a[i];
	}
	for(int i=0;i<n;i++)
	{
		a[i]=b[i];
	}
	for(int i=0;i<256;i++)
	{
		cnt[i]=0;
	}
	for(int i=0;i<n;i++)
	{
		cnt[(a[i]>>24)&255]++;
	}
	for(int i=1;i<256;i++)
	{
		cnt[i]+=cnt[i-1];
	}
	for(int i=255;i>0;i--)
	{
		cnt[i]=cnt[i-1];
	}
	cnt[0]=0;
	for(int i=0;i<n;i++)
	{
		b[cnt[(a[i]>>24)&255]++]=a[i];
	}
	for(int i=0;i<n;i++)
	{
		a[i]=b[i];
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.044 s762 MB + 972 KBAcceptedScore: 100


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