80分求调
查看原帖
80分求调
982398
NOI_AK_I楼主2023/10/3 07:56
#include<bits/stdc++.h>
using namespace std;
long long a[200005],b[200010],c[200010];//a是输入的数组,b是记录每个数,c是输出的数组 
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
        c[i]=a[i];
    }
    sort(a+1,a+1+n);
    sort(c+1,c+1+n);
    for(int i=1;i<=n;i++)
    {
    	if(a[i]==-1) continue;//如果找过这数,直接跳过 
    	for(int j=i+1;j<=n;j++)
		{
			if(a[i]==a[j])
			{
				b[i]++;
				a[j]=-1; 
			}
		}
		a[i]=-1;
		b[i]++;//把自己加上 
	}
    for(int i=1;i<=200000;i++)
    {
    	if(a[i]==0&&b[i]==0) break;
        if(b[i]!=0)
        {
            cout<<c[i]<<" "<<b[i]<<endl;
        }
    }
    return 0;
}```
2023/10/3 07:56
加载中...