算法入门-Music Notes

[USACO 2009 Dec S]Music Notes

https://ac.nowcoder.com/acm/problem/24866

题意

  • 给定每个点的消耗时间,查询在第t秒的时候位于哪个点

思路

  • 对耗时做前缀和,查询第一个大于的位置(upper_bound)

AC代码

#include<bits/stdc++.h>
using namespace std;
long long sum[50505];
int main(){
    int n,q;
    scanf("%d%d",&n,&q);
    for(int i=1;i<=n;i++){
        long long tp;
        scanf("%lld",&tp);
        sum[i]=sum[i-1]+tp;
    }
    for(int i=0;i<q;i++){
        long long qry;
        scanf("%lld",&qry);
        printf("%d\n",upper_bound(sum+1,sum+n+1,qry)-(sum));
    }
    return 0;
}
全部评论

相关推荐

07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务