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); }