题目描述
洛洛有一份私人歌单,歌单里面塞满了他喜欢的歌曲,像夏恋、雨道、彩月、幻昼……整整有好几百首。洛洛每天都要把他的歌单听一遍,以致于他都能知道在什么时候放的是什么歌。
洛洛在向你推荐了他的歌单之后,决定考考你,从他的歌单开始播放起,第 t 秒正在播放的是第几首歌。
输入
第一行输入两个整数 n 和 t,分别表示歌单的歌曲总数以及第 t 秒播放哪首歌。
第二行有 n 个整数,A1, A2,..., An,分别表示歌单的第 i 首歌将会播放多长时间。
输出
输出一个整数,表示歌单按顺序播放后,第t秒播放的是第几首歌。
样例输入 Copy
样例输入1 3 5 5 5 5样例输入2 3 5 1 4 5样例输入3 3 5 1 3 5
样例输出 Copy
样例输出1 1样例输出2 2样例输出3 3
提示
【样例3解释】
歌单中总共有三首歌:
第一首歌播放1秒,占第1秒;
第二首歌播放3秒,占第2-4秒;
第三首歌播放5秒,占第5-9秒。
所以第5秒播放的是第三首歌曲。
对于30%的数据,保证1≤n≤3;
对于60%的数据,保证1≤n≤2000,1≤Ai≤500;
对于100%的数据,保证1≤n≤100000,1≤Ai≤1000,1≤t≤。
代码实现:
#pragma GCC optimize(2)
#include <bits/stdc++.h>
using namespace std;
int a[100089],sum[100098];
int main()
{
int n,t;
cin>>n>>t;
int ans=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
sum[i]=sum[i-1]+a[i];
}
for(int i=1;i<=n;i++)
{
if(sum[i]>=t)
{
ans=i;
break;
}
}
cout<<ans;
return 0;
}