爆0,样例未过
查看原帖
爆0,样例未过
781159
Lovely_Elaina楼主2023/1/10 13:20
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;

int l,n,k;
int a[N],p;

bool fun(int x){
    int wind_kaka = k;
    int size = a[0];
    for(int i = 1; i < n; i++){
        if(wind_kaka < 0)
            break;
        if(a[i] - size <= x)
            size = a[i];
        else{
            size += x;
            wind_kaka--;
            i--;
        }
    }
   return wind_kaka >= 0;
}

int main() {
    scanf("%d %d %d",&l,&n,&k);
    for(int i = 0; i < n; i++)
        scanf("%d",&a[i]);
    
    int l = 0,r = l,mid;
    while(l <= r){
        mid = l + (r-l) / 2;
        if(fun(mid)){
            p = mid;
            r = mid - 1;
        }
        else l = mid + 1;
    }
    
    printf("%d\n",p);
    return 0;
}

谢谢

2023/1/10 13:20
加载中...