해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
A New Year 파티에는 레모네이드가 없으면 New Year 파티라고 할 수 없다! 여느 때처럼 많은 손님이 올 것으로 예상하며, 레모네이드를 사는 일은 이미 즐거운 필수가 되었다.
당신이 가장 좋아하는 가게에서는 부피와 가격이 서로 다른 n가지 종류의 레모네이드 병을 판매한다. i번 종류의 병 하나는 부피가 2i - 1리터이고 가격은 ci루블이다. 가게에 있는 각 종류의 병의 수는 무한하다고 생각해도 된다.
적어도 L리터의 레모네이드를 사고 싶다. 몇 루블을 써야 하는가?
첫 번째 줄에는 두 정수 n와 L (1 ≤ n ≤ 30; 1 ≤ L ≤ 109)가 주어진다. 각각 가게에서 판매하는 병의 종류 수와 필요한 레모네이드의 양을 리터 단위로 나타낸다.
두 번째 줄에는 서로 다른 종류의 병의 가격을 나타내는 n개의 정수 c1, c2, ..., cn (1 ≤ ci ≤ 109)가 주어진다.
적어도 L리터의 레모네이드를 사기 위해 지불해야 하는 최소 루블 수를 나타내는 정수 하나를 출력한다.
4 12
20 30 70 90
150
5 787787787
123456789 234567890 345678901 456789012 987654321
44981600785557577
4 3
10000 1000 100 10
10
첫 번째 예제에서는 90루블인 8리터 병 하나와 각각 30루블인 2리터 병 두 개를 사야 한다. 그러면 총 150루블만으로 12리터의 레모네이드를 얻게 된다.
두 번째 예제에서는 레모네이드가 3리터만 필요하지만, 10루블인 8리터 병 하나를 사는 것이 더 저렴하다.
세 번째 예제에서는 각각 10루블인 1리터 병 세 개를 사서 30루블에 레모네이드 세 리터를 얻는 것이 가장 좋다.