问题标题: 酷町堂:4695 音符

0
0
已解决
张汀熹
张汀熹
中级光能
中级光能

题目链接: 酷町堂:4695

4695 

音符经验值:0

题目描述 Description

酷酷准备教他的奶牛们弹一首歌。这首歌由N(1<=n<=50000)个音阶组成,其中第i个音阶要敲击Bi<=10000次。奶牛从第0时刻开始弹,每个时刻敲击一次,因此他从0时刻到B1-1时刻都是敲第1个音阶(共敲了B1次), 然后他从B1时刻到B1+B2-1时刻敲第2个音阶(共敲了B2次),从B1+B2到B1+B2+B3-1时刻敲第3个音阶(共敲了B3次)。
现在有个问题:在时刻T,奶牛敲的是哪个音阶?

输入描述 Input Description

第一行,一个整数N,中间通过空格隔开
接下来N行,每行一个整数B_i
接下来一行,一个整数T

输出描述 Output Description

输出一个整数,表示奶牛应该演奏的音符。

样例输入 Sample Input

3 2 1 3 2

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

1<=n<= 50000,B_i<=1000,0<=T<=1000

错误代码(0分)

#include<iostream>
using namespace std;
int n,t,a[20005],b[10005],cnt,cnt1,cnt2;
bool flag;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        b[a[i]]++;
    }
    cin>>t;
    for(int i=10000;i>=1;i--){
        cnt+=a[i];
        if(t==0){
            cout<<a[1];
        }
        else{
            if(a[i]==t){
                cout<<a[1]+a[2]-1;
            }
        }
    }
    return 0;
}

 


0
0
李雨彤
李雨彤
资深光能
资深光能

6906:

来段思路

for循环(按数据大小遍历){     

       for循环(遍历桶数组【i】){

             如果(指定高度到了)
                     结束循环

              }

              高度、人数加一下
        }

}
后面别忘了输出人数
 

0
吕梓瑜
吕梓瑜
初级天翼
初级天翼
    循环将a数组赋值:
        a[i]=a[i-1]+b[i];
    循环判断t<a[i] 退出循环

定义、输入不讲

0
我要回答