提交记录 21402


用户 题目 状态 得分 用时 内存 语言 代码长度
jcer114514 1001. 测测你的排序 Accepted 100 2.084 s 785384 KB C++ 969 B
提交时间 评测时间
2024-03-18 16:57:47 2024-03-18 16:57:53
#pragma GCC optimize("Ofast,inline,unroll-loops,fast-math,no-stack-protector")
#include<bits/stdc++.h>
using namespace std;
#define int unsigned
const int siz1=9,len1=4e5,siz2=9,len2=1000,siz3=8,len3=20;
int a[(1<<siz1)*len1+10],b[(1<<siz2)*len2+10],c[(1<<siz3)*len3+10];
int *p1[1<<siz1],*p2[1<<siz2],*p3[1<<siz3];
void sort(int *arr,signed n)
{
	for(int i=0; i<(1<<siz1); ++i) p1[i]=a+i*len1;
	for(int i=0; i<n; ++i) (*p1[arr[i]>>32-siz1]++)=arr[i];
	for(int i=0; i<(1<<siz1); ++i)
	{
		for(int j=0; j<(1<<siz2); ++j) p2[j]=b+j*len2;
		int *wz=a+i*len1;
		while(wz!=p1[i]) (*p2[((*wz)&((1<<32-siz1)-1))>>32-siz1-siz2]++)=*wz,++wz;
		for(int j=0; j<(1<<siz2); ++j)
		{
			for(int k=0; k<(1<<siz3); ++k) p3[k]=c+k*len3;
			int *wz=b+j*len2;
			while(wz!=p2[j]) (*p3[((*wz)&((1<<32-siz1-siz2)-1))>>32-siz1-siz2-siz3]++)=*wz,++wz;
			for(int k=0; k<(1<<siz3); ++k)
			{
				sort(c+k*len3,p3[k]);
				int *wz=c+k*len3;
				while(wz!=p3[k]) (*arr++)=*wz,++wz;
			}
		}
	}
}

CompilationN/AN/ACompile OKScore: N/A

Testcase #12.084 s766 MB + 1000 KBAcceptedScore: 100


Judge Duck Online | 评测鸭在线
Server Time: 2024-04-28 20:35:06 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用