为什么会re啊awa
查看原帖
为什么会re啊awa
264548
Tangent233楼主2021/10/16 17:18
#include<bits/stdc++.h>
using namespace std;
const int maxn=50100;
int stone[maxn],n,m,len;
bool check(int v)
{
	int nd=0,nxt=0,i=0;
	while(i<=n)
	{
		nxt=i+1;
		while(stone[nxt]-stone[i]<v)
		{
			nxt++;
			nd++;
		}
		i=nxt;
	}
	if(nd<=m) return 1;
	else return 0;
}
int solve()
{
	int l=0,r=len;
	stone[0]=0,stone[n+1]=r;
	int ans=0;
	while(l<=r)
	{
		int mid=(l+r)/2;
		if(check(mid))
		{
			ans=mid;
			l=mid+1;
		}
		else r=mid-1;
	}
	return ans;
}
int main()
{
	cin>>len>>n>>m;
	for(int i=1;i<=n;i++) cin>>stone[i];
	cout<<solve();
	return 0;
}

本机没问题,又碰了什么奇怪的点吗

2021/10/16 17:18
加载中...