Stay Hungry,Stay Foolish!

D - Reindeer and Sleigh

D - Reindeer and Sleigh

https://atcoder.jp/contests/abc334/tasks/abc334_d

 

思路

将所有雪橇的耗费的鹿数量,进行排序

然后对排序数组做前缀和,

在前缀和数组中,利用upper_bound做二分查找。

 

Code

https://atcoder.jp/contests/abc334/submissions/48935041

复制代码
LL n, q;
vector<LL> r;
LL x;

int main()
{
    cin >> n >> q;
    
    for(LL i=0; i<n; i++){
        LL ri;
        cin >> ri;
        r.push_back(ri);
    }

    sort(r.begin(), r.end());

    // prefix of r
    vector<LL> rsum;
    rsum.push_back(r[0]);

    for(LL i=1; i<n; i++){
        rsum.push_back(rsum[i-1] + r[i]);
    }

    for(LL i=0; i<q; i++){
        cin >> x;
        LL pos = upper_bound(rsum.begin(), rsum.end(), x) - rsum.begin();
        cout << (pos) << endl;
    }
    
    return 0;
}
复制代码

 

posted @   lightsong  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2020-12-31 statistical learning - supervised_learning of sklearn
千山鸟飞绝,万径人踪灭
点击右上角即可分享
微信分享提示