问:为啥我开不了unsigned long long
查看原帖
问:为啥我开不了unsigned long long
895690
gghack_Nythix楼主2022/12/19 20:09

rt

#define int unsigned long long
#define MAX 200000000
using namespace std;
int H[MAX],A[MAX];
bool check(int x,int n,int l,int s)
{
	int sum = 0;
	for(int i = 1;i <= n;i ++)
	{
		if(H[i] + A[i] * x >= l) 
			sum += H[i] + A[i] * x;
	}
	return sum >= s;
}
signed main()
{
	int N,S,L;
	cin >> N >> S >> L;
	for(int i = 1;i <= N;i ++)
	{
		cin >> H[i];
	}
	for(int i = 1;i <= N;i ++)
	{
		cin >> A[i];
	}
	int l = 1,r = MAX,mid,ans = 0;
	while(l <= r)
	{
		mid = (l + r) / 2;
		if(check(mid,N,L,S))
		{
			ans = mid;
			r = mid - 1;
		}
		else
		{
			l = mid + 1;
		}
	}
	cout << ans;
	return 0;
}
2022/12/19 20:09
加载中...