提交记录 15582


用户 题目 状态 得分 用时 内存 语言 代码长度
wawcac wc2017b1. 【WC2017】挑战-任务1 Accepted 100 2.149 s 1562528 KB C++ 817 B
提交时间 评测时间
2021-01-02 01:40:51 2021-01-02 01:40:54
void sort(unsigned *a,int n)
{
	unsigned *b=new unsigned[n];
	unsigned cnt0[256],cnt8[256],cnt16[256],cnt24[256];
    unsigned *ptr0[256], *ptr8[256], *ptr16[256], *ptr24[256];

    for(int i=0;i<256;i++){
		cnt0[i]=0;
		cnt8[i]=0;
		cnt16[i]=0;
		cnt24[i]=0;
	}
	for(int i=0;i<n;++i){
        int tmp=a[i];
		++cnt0[tmp>>0&255];
		++cnt8[tmp>>8&255];
		++cnt16[tmp>>16&255];
		++cnt24[tmp>>24&255];
	}
    ptr0[0]=b-1;
	ptr8[0]=a-1;
	ptr16[0]=b-1;
	ptr24[0]=a-1;
	for(int i=1;i<256;++i){
        ptr0[i]=cnt0[i-1]+ptr0[i-1];
		ptr8[i]=cnt8[i-1]+ptr8[i-1];
		ptr16[i]=cnt16[i-1]+ptr16[i-1];
		ptr24[i]=cnt24[i-1]+ptr24[i-1];
	}

#define countingSort(a,b,k) \
for(int i=0;i<n;++i) *++ptr##k[a[i]>>k&255]=a[i];

	countingSort(a,b,0);
	countingSort(b,a,8);
	countingSort(a,b,16);
	countingSort(b,a,24);
    delete[] b;
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #11.004 ms808 KBAcceptedScore: 34

Testcase #21.074 s762 MB + 992 KBAcceptedScore: 33

Testcase #32.149 s1525 MB + 928 KBAcceptedScore: 33


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-20 14:45:09 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠