求助WA on subtask#1
查看原帖
求助WA on subtask#1
961351
nightwatch.ryan楼主2023/8/14 12:57
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
	ll l,n,m,ans=0;
	cin>>l>>n>>m;
	vector<ll>v;
	ll tmp;
	v.push_back(0);
	for(int i=0;i<n;i++){
		cin>>tmp;
		v.push_back(tmp);
	}
	v.push_back(l);
	ll L=0,R=l;
	while(L<=R){
		ll mid=(L+R)/2;
		ll tmpM=m;
		for(int i=0,nextI=1;i<v.size()-1;){
			//可以拿走的石头数量 
			if(v[nextI]-v[i]<mid){
				tmpM--;
				nextI++;
			}else{
				i=nextI;
				nextI++; 
			}
			if(tmpM<0){
				break;
			}
		}
		if(tmpM<0){
			//设置距离太大了,要小一点 
			R=mid-1;
		}else{
			L=mid+1;
			ans=mid;
		}
	} 
	cout<<ans;
	return 0;
}
2023/8/14 12:57
加载中...