문제1712--게임 클리어

1712: 게임 클리어

[만든사람 : 한진우 (2022)]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

세종이는 정보시간에 배운 내용을 바탕으로 간단한 게임을 만들었다. 게임은 N개의 스테이지를 클리어하여 돈을 얻는 게임으로, 기본적인 게임 규칙은 다음과 같다.

1. 스테이지는 순서대로 1개씩 등장하며, 스테이지에 도전하거나 포기할 수도 있으며, 한번 도전하거나 포기한 스테이지는 다시 도전할 수 없다.
2. 스테이지를 클리어한 경우에는 해당 스테이지에 제시된 클리어 보상만큼 금화를 얻는다.
3. 연속으로 스테이지를 클리어한 경우에는 (지금까지 연속으로 클리어한 스테이지 수-1)만큼 추가 금화를 획득할 수 있다.

예를 들어 각각의 스테이지를 클리어 했을 때 획득하는 금화와 스테이지 클리어 현황이 다음과 같다고 가정해보자.
스테이지 클리어 보상(금화) 클리어 현황
1 8 O
2 1 X
3 9 O
4 10 O
5 2 O

첫 번째 스테이지를 클리어하면 해당 클리어 보상만 얻을 수 있지만, 4번째/5번째 스테이지의 경우에는 추가 금화를 얻을 수 있다.
4번째 스테이지는 연속으로 2개의 스테이지를 클리어했기에 1개의 추가 금화를 얻게 된다. 마찬가지로 5번째 스테이지는 지금까지 3개의 스테이지를 연속으로 클리어했기에 금화 2개를 추가로 얻게 된다.
반대로 2번째 스테이지의 경우, 클리어하지 못 했기에 금화를 얻을 수 없다. 위 경우, 획득할 수 있는 총 금화는 32개이다.

게임을 클리어하기 위해서는 K개 이상의 금화가 필요하다고 할 때, 게임에서 획득할 수 있는 금화 중 게임 클리어를 위해 필요한 최소 금화 개수를 출력하시오. 만약 게임을 클리어할 수 없는 경우에는 -1을 출력한다.

입력 설명

첫 번째 줄에는 스테이지의 수 n이 주어진다. 

두 번째 줄에는 n개의 스테이지 클리어 보상이 공백으로 구분되어 주어진다.

세 번째 줄에는 게임 클리어를 위한 금화의 개수 K가 주어진다.

(1<=n<=100)

(1<=Si<=200)

(1<=k<=1,000,000,000)

출력 설명

게임에서 획득할 수 있는 금화의 개수 중 게임을 클리어할 수 있는 최소 금화의 개수를 출력한다.

입력 예시 Copy

5
8 1 9 10 2
25

출력 예시 Copy

28

출처/분류