为什么wa了一个?
查看原帖
为什么wa了一个?
776599
jping楼主2023/1/31 15:54
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
map<int,int>ma;
int a[100001],b[100001];
int main(){
	int n,t,cnt,p,ans;
	cin>>n;
	for(int i=0;i<n;i++)cin>>a[i];
	sort(a,a+n);
	b[0]=a[0];
	ma[a[0]]++;
	t=1;
	for(int i=1;i<n;i++){
		if(a[i]>a[i-1]){
			b[t]=a[i];
			t++;
		}
		ma[a[i]]++;
	}
	ans=1e9;
	for(int i=0;i<t;i++){
		while(ma[a[i]]>0){
			p=a[i];			
			ma[p]--;
			cnt=1;
			while(ma[p+1]>ma[p]){
				p++;
				ma[p]--;
				cnt++;
			}
			ans=min(ans,cnt);
		}
	}
	cout<<ans;
	return 0;
}
2023/1/31 15:54
加载中...