아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

선물할인

시간 제한1초메모리 제한1024 MB

요약
짝수인 선물 가격 n개, 예산 b, 최대 a개의 반값 할인이 주어질 때 살 수 있는 선물 수의 최댓값을 구한다.
난이도

보통10점 중 5점

유형
그리디, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

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

입력

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

출력

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

예제2

  1. 예제 1

    입력
    6 26 2
    4 6 2 10 8 12
    
    예상 출력
    5
    
  2. 예제 2

    입력
    6 23 1
    4 6 2 12 8 14
    
    예상 출력
    4