P164SUMI spoj PTIT – ROUND 4I – Next round

Trong một cuộc thi lập trình, các lập trình viên, có số điểm lớn hơn hoặc bằng thí sinh có vị trí thứ k trên bảng sẽ được vào vòng thi tiếp theo, miễn sao thí sinh có số điểm dương. Cho số điểm các thí sinh, bạn hãy xác định xem có bao nhiêu người được vào vòng tiếp theo nhé.

Input

Dòng đầu tiên gồm 2 số nguyên n, k (1 <= k <= n <= 50)

Dòng thứ 2 chứa n số nguyên a[1], a[2], …, a[n] và n số nguyên này tạo thành một dãy không tăng từ trái qua phải.

Output

Số thí sinh sẽ vào vòng tiếp theo

Example

Test 1:
Input:
8 5
10 9 8 7 7 7 5 5
Output:
6

Test 2:
Input:
4 2
0 0 0 0
Output:
0

Code tham khảo P164SUMI spoj PTIT – ROUND 4I – Next round

Code C++

#include <stdio.h>
using namespace std;
#define nmax 50

int main()
{
    int n,k,a[nmax],i,res=0;
    scanf("%d %d",&n,&k);
    for (i=1; i<=n; i++)
        scanf("%d",&a[i]);
    if (a[k]>0)
    {
        for (i=1; i<=n; i++)
            if (a[k]<=a[i]) res++;
    }
    else
    {
        for (i=1; i<=n; i++)
            if (a[i]>0) res++;
    }
    printf("%d",res);
}

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *