subtask1#RE求调
查看原帖
subtask1#RE求调
1028310
Jason101楼主2024/10/27 09:00
#include <bits/stdc++.h>
using namespace std;
int a[100005];
int b[100005];
int L , N , K;
int n = 0;
bool calc(int m)
{
	int n = 0; 
	for(int i = 1;i < N;i++)
	{	
		b[i] = a[i + 1] - a[i];
		if(b[i] >= m)
		{
			n += b[i] / m;
			if(b[i] % m == 0)
			{
				n--;
			}
		}
		
	}
	return n <= K;
}
int main()
{
	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 = 0 , 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 09:00
加载中...