???数组开0能拿70????
查看原帖
???数组开0能拿70????
929606
Unidean楼主2023/7/11 09:50
#include<bits/stdc++.h>
using namespace std;
int niu,cow,a[0];		//牛棚,牛数量,牛棚位置
int check(int p){		//表示距离为p时可以放几头牛
	int x=0,cows=1;		//距离总数,牛的总数
	for(int i=2;i<=niu;i++){
		if(x<p) x+=a[i]-a[i-1];
		if(x>=p){
			x=0;
			cows++;
		}
	}
	return cows;
}
int main(){
	scanf("%d %d",&niu,&cow);		//输入
	for(int i=1;i<=niu;++i) scanf("%d",&a[i]);		//输入距离
	sort(a,a+niu);		//排序牛棚
	int l=a[1],r=a[niu],mid;
	while(l<r){		//求出第一个放不下的距离
		mid=(l+r+1)/2;
		if(check(mid)>=cow) l=mid;
		else r=mid-1;
	}
	cout<<l;		//减一即时最大
	return 0;
}

这个代码a数组只开了0但是能过7个点???

2023/7/11 09:50
加载中...