蒟蒻弱弱,求调
查看原帖
蒟蒻弱弱,求调
1042374
leixiuzi楼主2024/6/29 17:43
#include<bits/stdc++.h>

int a[10001],f[10001],b[10001],ans=0,m,n;
using namespace std;

bool mx(int x){
	for(int i=1;i<=m;i++){
		if(f[a[i]+i]==1 || f[a[i]-i]==1) return true;
	}
	return false;
}

int main() {
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
	}
	sort(a,a+n+1);
	b[a[1]]=b[a[n]]=1;
	for(int i=1;i<=n;i++){	
		for(int j=1;j<=m;j++){
			f[a[i]+j]+=1;
			f[a[i]-j]+=1; 
		}
	}
	for(int i=a[1];i<=a[n];i++){
		if(b[i]==0 && !mx(a[i])){
			ans+=1;
			b[i]=1;
			for(int j=1;j<=m;j++){
				f[a[i]+j]+=1;
				f[a[i]-j]+=1; 
			}
		} 
	}
	cout<<ans;
    return 0;
}


纯模拟!!!

2024/6/29 17:43
加载中...