四十分求助
查看原帖
四十分求助
1139661
ylzxbcyy楼主2024/1/11 22:43
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int K[1000001]={0};int K1[1000001]={0};
int ef(int a[],int x,int n)
{int cnt=0;
for(int i=0;i<n-1;i++)
{cnt+=ceil(a[i]/(x));}
return cnt;}
int main()
{int l,n,k;

cin>>l>>n>>k;

int t=0;
for(int i=0;i<n;i++)
{cin>>K[i];
    if(i>=1){K1[t]=K[i]-K[i-1];
      t++; }
    
}

int low=1,high=l;
int mid=(low+high)/2;
while(low<high)
{if(ef(K1,mid,n)<=k)high=mid;
else low=mid+1;
mid=(high+low)/2;}
cout<<high;}

2024/1/11 22:43
加载中...