为什么本地对,洛谷判错?
查看原帖
为什么本地对,洛谷判错?
213196
Wens楼主2020/11/3 08:02
#include<bits/stdc++.h>
#define M 60
#define S 210
using namespace std;

int n,c,m,tot,ans;
int f[S];
bool vis[S];
struct node{
	int l,r;
}line[S];

int main(){
//	freopen("1.out","w",stdout);
	cin>>n>>c>>m;
	for(int i=1;i<=m;++i){
		int x;
		cin>>x;
		vis[x]=1;
	}
	for(int i=1;i<=c;++i){
		if(vis[i]){
			++ans;
			if(!vis[i-1])line[++tot].l=line[tot].r=i;
			if(vis[i-1])++line[tot].r;
		}
	}
	for(int i=1;i<=tot-1;++i)f[i]=line[i+1].l-line[i].r-1;
	sort(f+1,f+tot);
	int kkk=tot;
	for(int i=1;i<=tot-1&&kkk>n;++i){
		ans+=f[i];
		--kkk;
	}
	cout<<ans<<endl;
	return 0;
}
2020/11/3 08:02
加载中...