85求调
查看原帖
85求调
1110115
chronobox楼主2024/1/12 04:05
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
int n,s,L;
int a[200010],b[200010];
bool check(int x)
{
    int cnt=ceil((double)s/L);
    int sum=0;
    for(int i=1;i<=n;i++)
    {
        int p=a[i]+x*b[i];
        sum+=p/L;
    }
    return sum>=cnt;
}
signed main()
{
    cin>>n>>s>>L;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++)cin>>b[i];
    int l=0,r=1e18;
    while(l<r)
    {
        int mid=(l+r)>>1;
        if(check(mid))r=mid;
        else l=mid+1;
    }
    cout<<l;
}
2024/1/12 04:05
加载中...