사탕
면접 대비시간 제한3초메모리 제한1024 MB
앞 F칸의 사탕 합을 T 이상으로 만드는 데 필요한 최소 인접 교환 횟수를 구합니다. 불가능하면 NO를 출력합니다.
문제
고대 도시 이카에는 상상을 초월하는 부를 가진 궁전이 있다고 전해진다. 궁전 안에는 세계 각지에서 모은 사탕 상자 개가 늘어선 복도가 있다. 지나가는 여행자는 사탕의 무게만큼 금을 내면 원하는 만큼 사탕을 가져갈 수 있다.
상자는 왼쪽에서 오른쪽으로 번부터 번까지 번호가 매겨져 있다. 번 상자에는 단위의 사탕이 남아 있으며, 는 음이 아닌 정수다.
궁전의 수호자인 당신은 사탕이 많은 상자가 입구에 더 가까이 오도록 상자들을 옮기려 한다.
배열 과 수 , 가 주어진다. 한 번의 연산으로 배열에서 인접한 두 원소를 서로 바꿀 수 있다. 배열의 처음 개 원소의 합이 이상이 되도록 만드는 데 필요한 최소 연산 횟수는 얼마인가?
입력
첫 줄에 세 정수 , , 가 주어진다.
둘째 줄에 개의 정수 이 주어진다.
출력
연산으로 목표를 달성할 수 없으면 NO를 출력한다. 가능하면 필요한 최소 연산 횟수를 한 개의 정수로 출력한다.
제한
- .
- .
- .
- 에 대해 .
입력 값은 32비트 정수에 들어가지 않을 수 있으므로 오버플로에 주의한다.
힌트
첫 번째 예제에서는 처음 두 원소의 합이 이상이어야 한다. 와 을 한 번 바꾸면 배열이 10 20 4 6 3 3이 되고, 처음 두 원소의 합은 이 된다.
두 번째 예제에서는 을 배열의 맨 끝까지 옮겨야 하며, 이는 3번의 교환이 필요하다.
세 번째 예제에서는 처음 두 원소의 합을 이상으로 만들 수 없다. 가능한 최댓값은 이다.