[BOJ 25947] 선물할인

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

$n$개의 선물 가격이 주어졌을 때, $b$의 예산으로 최대로 많은 선물을 사려고 한다. 이때 최대 $a$개의 선물에 대해서는 반값 할인을 받을 수 있다고 했을 때 최대로 살 수 있는 선물의 수를 구하는 프로그램을 작성하시오. 단, 한 선물에는 최대 한 번만 반값 할인을 받을 수 있다.

입력 형식

입력은 표준입력을 사용한다. 첫 번째 줄에 선물의 개수를 나타내는 양의 정수 $n$ ($1 ≤ n ≤ 100\,000$), 예산을 나타내는 양의 정수 $b$ ($1 ≤ b ≤ 10^9$), 반값 할인을 받을 수 있는 최대 선물의 수를 나타내는 정수 $a$ ($0 ≤ a ≤ n$)가 공백을 사이에 두고 차례로 주어진다. 다음 줄에 $n$개의 선물 가격이 공백을 사이에 두고 주어진다. 선물 가격은 $2$이상 $10$억 이하의 값을 갖으며, 항상 짝수로 주어진다.

출력 형식

출력은 표준출력을 사용한다. 조건을 만족하며 최대로 살 수 있는 선물의 수를 출력한다.

예제 입력 1

6 26 2
4 6 2 10 8 12

예제 출력 1

5

예제 입력 2

6 23 1
4 6 2 12 8 14

예제 출력 2

4

Comments

There are no comments at the moment.