Subtask #1 WA求助
查看原帖
Subtask #1 WA求助
722799
SnowFalling_2010楼主2023/6/18 16:01

该怎么改qaq

#include<bits/stdc++.h>
using namespace std;
const int N=50100;
int len,n,m,l=0,r=1e9+1,mid,a[N],b[N];
bool check(int x) {
	int m1=m;
	for(int i=1; i<=n; i++) b[i]=a[i];
	for(int i=1; i<=n-2; i++) {
		if(b[i+1]-b[i]<x) b[i+1]=b[i],m1--;
	}
	return m1>=0&&b[n]-b[n-1]>=x;
}
int main() {
	scanf("%d%d%d",&len,&n,&m);
	a[n+2]=len,n+=2;
	for(int i=2; i<n; i++) scanf("%d",&a[i]);
	while(l+1<r) {
		mid=(l+r)/2;
		if(check(mid)) l=mid;
		else r=mid;
	}
	printf("%d",l);
	return 0;
}
2023/6/18 16:01
加载中...