#3wa 请教怎么改不用特判n=0
查看原帖
#3wa 请教怎么改不用特判n=0
804460
Kanpfx楼主2022/12/14 12:22

3数据点n=0 应该是输出l的值,但是我少1,请问改怎么改

#include <bits/stdc++.h>
using namespace std;

int a[50005];
int l,n,m,low,high;
int jmp(int x)
{
    int cnt=0;
    for(int i=0; i<=n;)
    {
        int j=i+1;
        while(a[j]-a[i]<x &&j<=n+1)
        {
            j++;
            cnt++;
        }
        i=j;
    }
    return cnt;
}
int main()
{
    cin>>l>>n>>m;
    high=l;
    a[n+1]=l;
    for(int i=1; i<=n; i++)
        cin>>a[i];
    do
    {
        int mid=(high+low)/2;
        if(jmp(mid)>m)
            high=mid;
        else
            low=mid;
    }
    while(low+1<high);
    cout<<(high+low)/2;
    return 0;
}
2022/12/14 12:22
加载中...