void sort(unsigned *a, register int n){
#define cal(w,w2,tw,op) \
p=w2-1;\
for(i=0;i<256;++i)rs[i]=p,p+=tw[i];\
for(i=0;i<100000000;i+=8){\
	p=w+i;\
	*++rs[p[0]op]=p[0],\
	*++rs[p[1]op]=p[1],\
	*++rs[p[2]op]=p[2],\
	*++rs[p[3]op]=p[3],\
	*++rs[p[4]op]=p[4],\
	*++rs[p[5]op]=p[5],\
	*++rs[p[6]op]=p[6],\
	*++rs[p[7]op]=p[7];\
}
	unsigned b[100000000],*rs[256],t0[256],t1[256],t2[256],t3[256];
	register unsigned *p,i,x;
	for(i=0;i<256;++i)t0[i]=t1[i]=t2[i]=t3[i]=0;
	for(i=0;i<100000000;){
		x=a[i],++t0[x&255],++t1[x>>8&255],++t2[x>>16&255],++t3[x>>24],++i;
		x=a[i],++t0[x&255],++t1[x>>8&255],++t2[x>>16&255],++t3[x>>24],++i;
		x=a[i],++t0[x&255],++t1[x>>8&255],++t2[x>>16&255],++t3[x>>24],++i;
		x=a[i],++t0[x&255],++t1[x>>8&255],++t2[x>>16&255],++t3[x>>24],++i;
	}
	cal(a,b,t0,&255);
	cal(b,a,t1,>>8&255);
	cal(a,b,t2,>>16&255);
	cal(b,a,t3,>>24);
}
				
				
				| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 | 
| Testcase #1 | 793.34 ms | 762 MB + 976 KB | Accepted | Score: 100 | 显示更多 |