1 条题解

  • 0
    @ 2024-1-11 11:03:10
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    const int N = 100005;
    int n, m, k, s, t, K, L, a[N];
    int check(int x){
    	int ans = 0;
    	for (int i = 1; i < n; ++i){
    		int len = a[i + 1] - a[i];
    		if (len % x == 0) ans += len / x - 1;
    		else ans += len / x;
    	}
    	return ans <= K;
    }
    int main(){
    	cin >> L >> n >> K;
    	for (int i = 1; i <= n; ++i)
    		cin >> a[i];
    	sort(a + 1, a + 1 + n);
    	int l = 1, r = L;
    	while (l <= r)
    	{
    		int mid = (l + r) / 2;
    		if (check(mid)) r = mid - 1;
    		else l = mid + 1;
    	}
    	cout << l;
    }
    
    • 1

    信息

    ID
    651
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    158
    已通过
    64
    上传者