《求条》
查看原帖
《求条》
1000475
Zhang_Yi_Jian楼主2024/12/7 20:10

全RE求条

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

const int N = 1e5 + 10;
int n, c;
int a[N];
bool check(int d)
{
	int reg = a[1] + d;
    int nc = 1;
    for(int i = 2; i <= n; i++)
    {
        if(a[i] < reg) continue;
        nc++;
        reg = a[i] + d;
    }
    return nc >= c;
}
int main()
{
	cin >> n >> c;
	for(int i = 1; i <= n; i++)
	{
		scanf("%d", a[i]);
	}
	sort(a + 1, a + n + 1);
	int left = 0, right = 1e9;
	while(left <= right)
	{
		int mid = (left + right) >> 1;
		if(check(mid) == 0) right = mid - 1;
        else left = mid + 1;
	}
	cout << right;
	return 0;
}
2024/12/7 20:10
加载中...