问题标题: 酷町堂:3975

0
0
已解决
张展嘉
张展嘉
新手天翼
新手天翼

3975   !(去重)排序2经验值:1200

题目描述 Description

现在有n(n不超过10^5)个正整数(范围是1~ 10000),请你将其中重复出现m(1~20)次的整数舍去,剩下的数据按照降序输出,

输入描述 Input Description

第一行输入两个空格隔开的整数n m;

输出描述 Output Description

输出一行,若干个整数,空格隔开

样例输入 Sample Input

10 2 1 2 5 2 3 1 4 5 3 3

样例输出 Sample Output

4 3 3 3

#include<iostream>

using namespace std;

int main(){

int n,m,a[21],b[100001],c[100001];

cin>>n>>m;

for(int i=1;i<=n;i++){

cin>>b[i];

c[i]=b[i];

for(int k=1;k<=n;k++){

if(c[k]==b[i]){

a[i]++;

}

}

}

for(int i=10000;i>=1;i--){

if(a[i]!=m){

for(int j=1;j<=a[i];j++){

cout<<i<<" ";

}

}

}

}

这是啥情况?


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

数组定义在主函数上面就行了

还有你的a数组要定义到10000才行

而且一重循环就够了

for(int i=1;i<=n;i++){

      cin>>b[i];

      a[b[i]]++;

}

0
我要回答