15分求调(必关)
查看原帖
15分求调(必关)
1241536
hong__hua__miao楼主2025/8/4 11:15
#include<bits/stdc++.h>
#define int long long
const int N = 2e5 + 6;
using namespace std;
int n,S,XIAN;
int a[N],h[N];
bool check(int n){
	int sums = 0;
	for (int i = 1; i <= n; ++i)
		if (a[i] + n * h[i] >= XIAN)
			sums += a[i] + n * h[i];
	return (sums >= S);
}
signed main(){
	scanf("%lld%lld%lld",&n,&S,&XIAN);
	for (int i = 1; i <= n; ++i)
		scanf("%lld",&a[i]);
	for (int i = 1; i <= n; ++i)
		scanf("%lld",&h[i]);
	int l = 0,r = N,mid;
	while(l <= r){
		mid = (l + r) >> 1;
		if (check(mid)) r = mid - 1;
		else l = mid + 1;
	}
	printf("%lld",l);
	return 0;
}
2025/8/4 11:15
加载中...