95pts WA#1,求调
查看原帖
95pts WA#1,求调
1373638
_second_coming_楼主2024/8/3 16:06
#include <iostream>
using namespace std;
typedef long long ll;
const int N = 2e5  + 10;
ll h[N], a[N];
ll n, s, len;
bool check(ll day){
    ll res = 0;
    for (int i = 1; i <= n; ++i) {
        if (h[i] + a[i] * day >= len)
            res += (h[i] + a[i] * day);
        if (res >= s)
            return true;
    }
    return false;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0); 
    cin >> n >> s >> len;
    for (int i = 1; i <= n; ++i) {
        cin >> h[i];
    }
    for (int i = 1; i <= n; ++i) {
        cin >> a[i];
    }
    ll l = 0, r = 1e16;
    while (l <= r){
        ll mid = l + r >> 1;
        if (check(mid))
            r = mid - 1;
        else
            l = mid + 1;
    }
    cout << l << endl;
    return 0;
}
2024/8/3 16:06
加载中...