60分求助#6#7#8#9玄关
查看原帖
60分求助#6#7#8#9玄关
1076753
DKRJ696楼主2024/8/26 17:33
#include<bits/stdc++.h>
using namespace std;
bool a[10005];
int maxx[1005],b[1005],gong,minn,maxn;
bool  cmp(int a,int b){
	return a>b;
}
int main(){
	int m,c,s,tmp,cnt;
	bool is;
	cin>>m>>s>>c;
	for(int i=1;i<=c;i++){
		cin>>b[i];
		a[b[i]]=1;
	}
	sort(b+1,b+1+c);
	gong=b[c]-b[1]+1;
	tmp=1;
	is=0;
	cnt=0;
	for(int i=1;i<=s;i++){
		if(a[i]==0&&is==0){
			cnt++;
			is=1;
		}else if(a[i]==0&&is==1){
			cnt++;
		}else if(a[i]==1&&is==1){
			maxx[tmp++]=cnt;
			cnt=0;
			is=0;
		}
	}
	sort(maxx+1,maxx+tmp+1,cmp);
	for(int i=1;i<=m-1;i++){
		gong-=maxx[i];
//		cout<<maxx[i]<<' ';
	}
//	cout<<endl;
	cout<<gong;
	return 0;
}
2024/8/26 17:33
加载中...