桶排序前两个点RE,求解
查看原帖
桶排序前两个点RE,求解
351044
weimanchi2楼主2021/11/14 09:51
//桶排序升序
#include<bits/stdc++.h>
using namespace std;
int n,a[1000000];
int p[100000001]={0};
inline void write(int x)
{
	if(x>9)write(x/10);
	putchar(x%10^48);
}
inline int read()
{
    int s=0,w=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
	{
        if(ch=='-') w=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
    return s*w;
}
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		a[i]=read();
		p[a[i]]++;
	}
	for(int i=0;i<100000001;i++)
	{
		if(p[i]!=0)
		{
			for(int j=0;j<p[i];j++)
			{
				write(i),putchar(' ');
			}
		}
	}
	return 0;
} 

开了快读,但会爆,求大佬帮忙优化

2021/11/14 09:51
加载中...