算法战斗第二天C++2

A. Next Round

"Contestant who earns a score equal to or greater than the k-th place finisher's score will advance to the next round, as long as the contestant earns a positive score..." — an excerpt from contest rules.

A total of n participants took part in the contest (n ≥ k), and you already know their scores. Calculate how many participants will advance to the next round.

Input:The first line of the input contains two integers n and k (1 ≤ k ≤ n ≤ 50) separated by a single space.

The second line contains n space-separated integers a1, a2, ..., an (0 ≤ ai ≤ 100), where ai is the score earned by the participant who got the i-th place. The given sequence is non-increasing (that is, for all i from 1 to n - 1 the following condition is fulfilled: ai ≥ ai + 1).

Output:Output the number of participants who advance to the next round.
Examples
Input
8 5
10 9 8 7 7 7 5 5
Output
6
Input
4 2
0 0 0 0
Output
0
Note:In the first example the participant on the 5th place earned 7 points. As the participant on the 6th place also earned 7 points, there are 6 advancers.

In the second example nobody got a positive score.

输入第一个数字k为输入数字的个数,输入第二个数是比较值n,k中的数字有多少个比n大的输出,,,,,,,哒咩XXX这是不对的理解

请用成熟的英语语言理解这道题(裂开)第一段仔细品品,是应该与第k位的数值进行比较

我在博客里找到了一份绝美的答案,,,还是2017年的,我现在才开始认真学算法,,,然而她却在六年前就用我至今还不能轻松理解的语句写出答案。。。莫名其妙的嫉妒,又羡慕。。。

我的努力就像小狗屁。。。想哭,一个人在博学馆,大家都在努力备考四六级,备战考研,,,而我后知后觉又莫名其妙的在研究算法,呜呜呜

#include <iostream>

using namespace std;

int main(){
//	int i,n,k,j,a[51];
//	cin>>n>>k;
//	while(n>i) cin>>a[i++]; 
//	while (a[j]&&a[j]>=a[k-1])  ++j;
//    cout<<j;    
    int n,k,num=0,a[105];
	cin>>n>>k;
	for(int i=0;i<n;++i)cin>>a[i];
	for(int i=0;i<n;++i)
	    if(a[i]!=0 && a[i]>=a[k-1])num++;
	cout<<num<<endl;
	
    return 0;
}

 注释的是另一个方法不过调试没通过,,,emo了,回寝室充电去了,嘤嘤嘤。

 

 

 

 

posted @   AlbertKs  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示