[Codeforces 158] A. Next Round

WBeen·2021년 2월 2일

Codeforces

목록 보기
7/26

해석이 이상할 수 있습니다.
이상한 부분은 말씀해 주시면 수정하겠습니다.

문제:https://codeforces.com/problemset/problem/158/A


시간 제한: 3s
메모리 제한: 256MB

같은 점수를 얻은 대회 참가자 또는 k번째로 끝낸 사람은 다음 라운드에 갈 수 있다. 양의 점수를 얻는 참가자에 한에서...-대회 규칙 발췌(excerpt)

총 n명의 참가자들이 대회에 참가했다(n ≥ k), 그리고 너는 이미 그들의 점수를 알고 있다. 계산하자 어떻게 많은 참가자들이 다음 라운드에 진출할 수 있는지.

[입력]
첫 줄에는 두 정수 n 과 k 각각 하나씩 나눠져 포함된다. (1 ≤ k ≤ n ≤ 50)

두번째 줄에는 n개의 공간에 나줘져 정수 a1,a2...,an (0 ≤ ai ≤ 100)이 있고, ai는 참가자가 얻은 점수이다. -> i번째 . 그것은 오름차순으로 주어지지 않는다. (그것은 모든 i에 대하여 1부터 n-1까지 조건이 따라온다 ai ≥ ai + 1)

[출력]
다음 라운드에 진출할 참가자 수가 출력된다.

[Node]
첫번째 예시는 5번째 참가자가 7포인트를 얻었다. 6번째 참가자가 또한 7점을 얻었고, 6명의 진출자가 있다.

두번째 예시는 양의 점수를 얻은 사람이 없다.

[풀이]

참가자들에 점수는 무조건 내림차순으로 주어진다.
참가자들에 점수가 0이 아니라면 처음부터 다음 라운드 진출자에 수를 하나씩 늘려간다.
만약 k만큼에 진출자가 나오면 k번째 이후에 점수 중 k번째 점수와 같은 점수가 있는지 찾고 있다면 그만큼 진출자 수에 더해준다.

[코드]
https://github.com/Woobeen906/Codeforces/blob/main/158-A.cpp

profile
Front-end 개발자로 가는 길을 기록

0개의 댓글