提交记录 14471


用户 题目 状态 得分 用时 内存 语言 代码长度
AzusaCat wc2017b1. 【WC2017】挑战-任务1 Accepted 100 2.96 s 1562532 KB C++ 1.23 KB
提交时间 评测时间
2020-10-07 09:29:58 2020-10-07 09:30:03
unsigned int c[257],c1[257],c2[257],c3[257],c4[257],c5[257],c6[257],c7[257],c0[257],tmp[200000000];
void sort(unsigned *a, int n) {
	int dd=n-(n&7);
	for(register int i=0;i<4;++i)
	{
		for(register int j=0;j<dd;j+=8)
		{
			++c0[((a[j  ]>>(i*8))&255)];
			++c1[((a[j+1]>>(i*8))&255)];
			++c2[((a[j+2]>>(i*8))&255)];
			++c3[((a[j+3]>>(i*8))&255)];
			++c4[((a[j+4]>>(i*8))&255)];
			++c5[((a[j+5]>>(i*8))&255)];
			++c6[((a[j+6]>>(i*8))&255)];
			++c7[((a[j+7]>>(i*8))&255)];
		}
		switch(n&7)
		{
		    case 7:++c6[(a[dd+6]>>(i*8))&255];
		    case 6:++c5[(a[dd+5]>>(i*8))&255];
		    case 5:++c4[(a[dd+4]>>(i*8))&255];
		    case 4:++c3[(a[dd+3]>>(i*8))&255];
		    case 3:++c2[(a[dd+2]>>(i*8))&255];
		    case 2:++c1[(a[dd+1]>>(i*8))&255];
		    case 1:++c0[(a[dd  ]>>(i*8))&255];
		}
		for(register int j=0;j<=255;++j)
		{
			c[j]+=c0[j];
			c[j]+=c1[j];
			c[j]+=c2[j];
			c[j]+=c3[j];
			c[j]+=c4[j];
			c[j]+=c5[j];
			c[j]+=c6[j];
			c[j]+=c7[j];
			c0[j]=0;
			c1[j]=0;
			c2[j]=0;
			c3[j]=0;
			c4[j]=0;
			c5[j]=0;
			c6[j]=0;
			c7[j]=0;
		}
		for(register int j=1;j<=255;++j)c[j]+=c[j-1];
		for(register int j=n-1;j>=0;--j)tmp[--c[(a[j]>>(i*8))&255]]=a[j];
		for(register int j=0;j<=255;++j)c[j]=0;
		for(register int j=0;j<n;++j)a[j]=tmp[j];
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.318 ms816 KBAcceptedScore: 34

Testcase #21.48 s762 MB + 996 KBAcceptedScore: 33

Testcase #32.96 s1525 MB + 932 KBAcceptedScore: 33


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-18 17:46:34 | Loaded in 0 ms | Server Status
个人娱乐项目,仅供学习交流使用