社区讨论

80 pts桥条

P4058[Code+#1] 木材参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mm6bcckd
此快照首次捕获于
2026/02/28 20:44
上周
此快照最后确认于
2026/03/02 22:00
6 天前
查看原帖
CPP
#include <iostream>
#define ioss ios::sync_with_stdio(0);cin.tie(0);
#define ret return 
#define ll long long
#define endl cout<<'\n'
using namespace std;
ll n,S,L;
ll a[200001],h[200001],sum;
int check(ll x){
	ll tmp=0;
	for(int i=1;i<=n;i++){
		ll now=h[i]+a[i]*x;
		if(now>=L){
			tmp+=now;
		}
		if(tmp>=S) ret 1;
	}
	ret 0;
}
int main(){
	ioss
	cin>>n>>S>>L;
	for(int i=1;i<=n;i++){
		cin>>h[i];
		if(h[i]>=L) sum+=h[i];
	}
	for(int i=1;i<=n;i++) cin>>a[i];
	if(sum>=L){
		cout<<0;
		ret 0;
	}
	ll l=1,r=1e18;
	while(l<r){
		ll mid=l+r>>1;
		if(check(mid)) r=mid;
		else l=mid+1;
	}
	cout<<r;
	return 0;
}
/bx

回复

2 条回复,欢迎继续交流。

正在加载回复...