95pts求助!!!
查看原帖
95pts求助!!!
449550
Cheney_Z楼主2020/12/17 15:09

蒟蒻看不明白。。。

#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
const int maxn = 2e5 + 100;
ull n,s,len,ans;
ull a[maxn],b[maxn];


bool myck(ull x){
	ull tol = 0;
	for(ull i = 1;i <= n;++ i){
		ull t = a[i] + x * b[i];
		if(t > len) tol += t;
		if(tol >= s) return true;	
	}
	return false;
}

int main(){
	
	scanf("%lld%lld%lld",&n,&s,&len);
	
	for(ull i=1;i<=n;++i) scanf("%lld",&a[i]);
	for(ull i=1;i<=n;++i) scanf("%lld",&b[i]);
	
	if(myck(0)){
		printf("0\n");
		return 0;
	} 
	
	ull l = 0 , r = 1e18;
	while(l < r){
		ull mid = (l+r)>>1;
		if(myck(mid)) r = mid;
		else l = mid + 1;
	}
	
	printf("%lld\n",l);
	return 0;
}
2020/12/17 15:09
加载中...