提交记录 6344


用户 题目 状态 得分 用时 内存 语言 代码长度
142857 1001. 测测你的排序 Compile Error 0 0 ns 0 KB C++ 1.48 KB
提交时间 评测时间
2018-10-06 10:00:01 2020-08-01 00:42:23
#include<stdio.h>
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];
		while(i&&(a[i]&255)<(a[i-1]&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];
	}
}
unsigned a[100000000];
int main()
{
	int n;
	scanf("%d",&n);
	for(int i=0;i<n;i++)
	{
		scanf("%u",&a[i]);
	}
	sort(a,n);
	for(int i=0;i<n;i++)
	{
		printf("%u ",a[i]);
	}
}

CompilationN/AN/ACompile ErrorScore: N/A


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