158A – Next Round : Codeforces Solution

Question :

A. Next Round

time limit per test :3 seconds
memory limit per test: 256 megabytes
input/output : standard input / standard output

“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.

Solution:

Understanding the Question: While solving this code I took some time as I did not understand the question quite properly. The question state that there will be two inputs on first line. The first one is the number of players “n” and second one is the score at kth position i.e. “k”. This meant the positive score at kth position is the last score we have to consider. If the same score is after that position also as given in example 1, we need to count those otherwise we don’t.

#include <iostream>

using namespace std;

int main(){
    int i,n,place;    
    cin >> n >> place;
    int scores[n];
    int count =0;
     for(i=1;i<=n;i++){
        cin >> scores[i];
        if(scores[i]!=0){
            if(i<=place)
                count++;
            else if(scores[i]==scores[place]){
                count++;
            }
        }
    }
   
    cout << count;
    return 0;
}

Related posts

Leave a Comment