全部评论 8

  • https://www.acgo.cn/problemset/info/92130

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 200010;
    long long h[N],a[N],b[N];
    int main()
    {
        long long n,s,L;
        cin >> n >> s >> L;
        for(long long i = 1;i <= n;i++)
        {
            cin >> h[i];
        }
        for(long long i = 1;i <= n;i++)
        {
            cin >> a[i];
        }
        if(n == 1)
        {
            cout << (s-h[1])/a[1];
            return 0;
        }
        long long ans = 1e18;
        long long l = 0,r = 1e18;
        while(l <= r)
        {
            long long mid = (l+r)/2;
            for(long long i = 1;i <= n;i++)
            {
                long long now = h[i] + 1LL * a[i] * mid;
                b[i] = now;
            }
            long long sum = 0;
            sort(b+1,b+n+1);
            for(int i = n;i >= 1;i--)
            {
                if(b[i] < L)
                {
                    break;
                }
                sum += b[i];
                if(sum >= s)
                {
                    break;
                }
            }
            if(sum >= s)
            {
                ans=min(ans,mid);
                r = mid-1;
            }
            else l = mid + 1;
        }
        printf("%lld",ans);
    }
    

    应该能拿

    2026-05-09 来自 浙江

    0
  • 多做题

    2026-05-08 来自 浙江

    0
  • 尽量找通过率为100%的题目,或是那种提交记录很少的,我是在这一题获得的

    2026-05-08 来自 浙江

    0
  • 你随便找一场欢乐赛AC一道题,然后守在电脑前等到欢乐赛结束,拿你的代码去第一个交

    2026-05-06 来自 四川

    0
  • 先写对一道题,让你旁边的DOG不断优化

    2025-10-10 来自 浙江

    0
  • https://www.acgo.cn/discuss/rest/54292
    这个链接看一下

    2025-08-19 来自 北京

    0
  • 我写着就有了

    2025-08-19 来自 广东

    0
  • 随便找一题没人写的入门题即可

    2025-08-15 来自 浙江

    0

热门讨论