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++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #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); } |
Bài viết liên quan
- P167PROE spoj PTIT – ROUND 7E – Phương trình
- PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
- PTIT016D spoj PTIT- ACM PTIT 2016 D – Biểu thức
- Spoj PTIT PTIT016C – ACM PTIT 2016 C – Chẵn lẻ
- PTIT127A spoj PTIT – Tổ chức kì thi
- PTIT135J spoj PTIT – Tính lãi suất
- P156SUME spoj PTIT – ROUND 6E – Ước chung của chuỗi
- P156PROE spoj PTIT – ROUND 6E – Phép dịch
- P156SUMH spoj PTIT – ROUND 6H – Kim cương
- PTIT126E spoj PTIT – Bỏ phiếu