最后一组案例运行错误,检查不出问题。求教
#include<iostream>
using namespace std;
//@date : 2023/2/23 12:08:11
//@author : LingMing
//@dile : CppFileModel
bool Two_chose(long long int data[],long long int mini_length,long long int number_old,long long int number_new)
{
long long int count =0;
long long int midst;
for (int i = 1; i < number_old; i++)
{
if (data[i] - data[i - 1] > mini_length)
{
midst = (data[i] - data[i - 1]) % mini_length;
count += (data[i] - data[i - 1]) / mini_length;
if (!midst)
count -= 1;
}
if (count > number_new)
return false;
}
return true;
}
int main()
{
long long int length,number_old,number_new; //总长度,原来路标数量,新增数量
cin >> length >> number_old >> number_new;
long long int data[100005];
data[0] = 0;
for (int i = 0; i < number_old; i++)
{
cin >> data[i];
}
long long int l = 0, r = length;
long long int midst;
while (l<r)
{
midst = (l + r) / 2;
bool type = Two_chose(data,midst,number_old,number_new);
if (type)
{
r = midst;
}
else
{
l = midst+1;
}
}
cout << l;
}