0分求调
查看原帖
0分求调
1028310
Jason101楼主2024/10/27 08:39

必关

#include <bits/stdc++.h>
using namespace std;
int a[100005];
int b[100005];
int L , N , K;
int n = 0;
bool calc(int m)
{
	
	for(int i = 1;i <= N;i++)
	{	
		if(b[i] >= m)
		{
			n += b[i] / m;
			if(b[i] % m == 0)
				n--;
		}
		
	}
	return n <= K;
}
int main()
{
	int ans , x;
	cin >> L >> N >> K;
	cin >> a[1];
	
	for(int i = 2;i <= N;i++)
	{
		cin >> a[i];
		b[i - 1] = a[i] - a[i - 1];
	}
	int l = 1 , r = L;
	while(l < r)
	{
		int mid = (l + r) >> 1;
		if(calc(mid))
		{
			r = mid;	
		}
		else
		{
			l = mid + 1;
		}
	}
	cout << l << endl;
	return 0;
}
2024/10/27 08:39
加载中...