求调,差Subtask #1
查看原帖
求调,差Subtask #1
905019
tlyy11楼主2024/11/5 20:27
#include <bits/stdc++.h>
using namespace std;
int l, n, m, a[100086], ans;
bool check(int x){
    int t = 0, sum = 0;
    for(int i = 1; i <= n; i++){
        if(a[i] - sum < x){
        	t++;
		} else {
			sum = a[i];
		}
    }
    if(t > m){
    	return 0;
	}
	return 1;
}
int main(){
    cin >> l >> n >> m;
    for(int i = 1; i <= n; i++){
        cin >> a[i];
    }
    a[n + 1] = l;
    int fl = 0, fr = l;
    while(fl <= fr){
        int mid = (fl + fr) / 2;
        if(check(mid)){
        	fl = mid + 1;
			ans = mid;
		} else {
			fr = mid - 1;
		}
    }
    cout << ans;
    return 0;
}
2024/11/5 20:27
加载中...