求助!最后一个点WA,输出了0
查看原帖
求助!最后一个点WA,输出了0
590755
LittleMoMol楼主2022/2/12 10:50

为什么最后一个会输出零啊?

#include <iostream>
#include <cstdio>
using namespace std;
int n, k, L[100005];
long long temp, ans;
bool P(int x)
{
	long long sum = 0;
	for(int i=1;i<=n;i++)
	{
		sum += L[i] / x;
	}
	return sum >= k;
}
int main()
{
	scanf("%d %d", &n, &k);
	getchar();
	for(int i=1;i<=n;i++)
	{
		scanf("%d", &L[i]);
		getchar();
		temp += L[i];
	}
	if(temp<k)
	{
		printf("0");
		return 0;
	}
	int L = 0, R = temp, mid;
	while(L<=R)
	{
		mid = (L + R) >> 1;
		if(P(mid))
		{
			ans = mid;
			L = mid + 1;
		}
		else R = mid - 1;
	}
	printf("%d", ans);
	return 0;
}

请求大佬求助! or2

2022/2/12 10:50
加载中...