问题标题: 酷町堂:3812 高考分排序

1
0
已解决
被禁言 沈志成
沈志成
修练者
修练者
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n,a[500001];
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
        sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++) 
            if(a[i]==a[j])
                a[j]=0;
    for(int i=1;i<=n;i++) 
        if(a[i]!=0)
            cout<<a[i]<<" ";
    return  0;
}

各位大神看一下这个为什么错了,只有10分


0
已采纳
谭凯钊
谭凯钊
资深守护
资深守护

可以用桶排

for(int i=1;i<=n;++i)
{
    b[a[i]]=1;
}

输出时如果b[a[i]]==1

就输出

0
李逸凡
李逸凡
新手守护
新手守护

你的代码我试了一遍,超时了。可以用桶排,绝对不会超时。

0
我要回答