问题标题: 酷町堂:3634 危险品仓库(warehouse)

0
0
已解决
蒋智航
蒋智航
高级天翼
高级天翼
#include<bits/stdc++.h>
using namespace std;
int N,M,x[200000];
bool C(int d)
{
	int pre=1,cnt=1;
	for (int i=2;i<=N;i++)
	{
		if (x[i]-x[pre]>=d)
		{
			pre=i;
			cnt++;
			if (cnt==M)
				return true;
		}
	}
	return false;
}
int main()
{
	cin>>N>>M;
	int l=1,r=x[N],mid;
	for (int i=1;i<=N;i++)
		cin>>x[i];
 	sort(x+1,x+N+1);
	while (l<r)
	{
		mid=(l+r)/2+1;
		if (C(mid))
			l=mid;
		else
			r=mid-1;
	}
	cout<<l;
    return 0;
}

我懒得自己想,手残抄微课上的

可是还是有BUG!

你们帮帮忙!

快期中考试了,加油考,好好复习,也同时预祝你们市赛考出好成绩!!!

今天14号,悬赏14×14=196(个)酷町豆 凑个整,200个!

加油!

市赛我在第十五考场,What about you?

 

蒋智航在2018-11-14 19:15:55追加了内容

哎呀,悬赏多了

 

¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿?????????????????????????????

蒋智航在2018-11-14 19:17:16追加了内容

正在召集回答:

你们想不想让我再加一些悬赏?

 

蒋智航在2018-11-14 19:18:15追加了内容

血本都抛出来了,你们还不回答?


1
已采纳
赵逸凡
赵逸凡
初级启示者
初级启示者

定义问题,那个x数组的输入还没进行就定义......

那个数组的长度太大了,整整限制的2倍。

为了好习惯,建议代码缩进

赵逸凡在2018-11-14 19:53:13追加了内容

And那个cmp没写会被洛谷评测警告的

0
汪恺恒
汪恺恒
中级启示者
中级启示者

l和r的赋值改一改

for(int i=2;i<=n;i++){
        l=min(l,a[i]-a[i-1]);
    }
    int r=a[n]-a[1];

 

0
0
张睿杰
张睿杰
初级天翼
初级天翼

你定义错了

吧l和r的赋值定义放sort后面

然后就没问题了

张睿杰在2018-11-14 19:52:15追加了内容

0
0
我要回答