您的位置:首页 > 娱乐 > 八卦 > 定制家具如何选择_结构设计软件有哪些_seo 360_seo排名优化哪家好

定制家具如何选择_结构设计软件有哪些_seo 360_seo排名优化哪家好

2025/3/18 7:34:56 来源:https://blog.csdn.net/htb61888/article/details/145620714  浏览:    关键词:定制家具如何选择_结构设计软件有哪些_seo 360_seo排名优化哪家好
定制家具如何选择_结构设计软件有哪些_seo 360_seo排名优化哪家好

P1824 进击的奶牛

题目描述

Farmer John 建造了一个有 N N N 2 ≤ N ≤ 1 0 5 2 \leq N \leq 10 ^ 5 2N105) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 x 1 , x 2 , ⋯ , x N x _ 1, x _ 2, \cdots, x _ N x1,x2,,xN 0 ≤ x i ≤ 1 0 9 0 \leq x _ i \leq 10 ^ 9 0xi109)。

他的 C C C 2 ≤ C ≤ N 2 \leq C \leq N 2CN)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John 想把这些牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。那么,这个最大的最近距离是多少呢?

输入格式

1 1 1 行:两个用空格隔开的数字 N N N C C C

2 ∼ N + 1 2 \sim N+1 2N+1 行:每行一个整数,表示每个隔间的坐标。

输出格式

输出只有一行,即相邻两头牛最大的最近距离。

输入输出样例 #1

输入 #1

5 3
1
2
8
4
9

输出 #1

3

题解

#include "bits/stdc++.h"
using namespace std;
const int N = 1e6+7;
int n, C, x, b;
int g[N], sum = 1, ans, mid;
int main() {cin>>n>>C;for(int i=1;i<=n;++i){cin>>g[i];}sort(g+1, g+n+1);int l = g[1], r = g[n];while(l<r){sum = 1;mid = l+(r-l)/2; int cow = g[1];for(int j=2;j<=n;++j){if(g[j] - cow >= mid){sum++;cow = g[j];}}if(sum>=C) {ans = mid;l = mid + 1;}else{r = mid;}}cout<<ans<<endl;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com