초콜릿 뺏어 먹기
시간 제한1초메모리 제한1024 MB
오름차순으로 정렬된 병의 초콜릿 개수가 주어질 때, 매일 i>K인 병 i를 i-K번째 값까지 줄이고 다시 정렬한다. 최대로 먹을 수 있는 초콜릿 수와 그 최소 일수를 구한다.
문제
연두는 개의 통에 초콜릿을 담아, 초콜릿의 개수가 오름차순이 되도록 일렬로 배열해 놓는다. 즉, (번째 통의 초콜릿 개수) (번째 통의 초콜릿 개수) (번째 통의 초콜릿 개수)이다.
효원이는 매일 조금씩 연두의 초콜릿을 몰래 뺏어 먹을 계획을 세우는 중이다. 연두는 매우 눈치가 없기 때문에, 하루에 한 번 다음 전략으로 초콜릿을 먹으면 절대 눈치채지 못할 것이다.
- 인 를 골라, 번째 통에 있는 초콜릿 개수와 똑같아질 때까지 번째 통에서 초콜릿을 꺼내 먹는다.
- 그 후 통을 재정렬한다. 즉, 초콜릿 개수가 오름차순이 되도록 통을 재배치한다.
효원이는 연두가 눈치채지 못하는 선에서 최대한 많이, 그리고 최대한 빨리 초콜릿을 먹어 치우고 싶다. 과연 몇 개나 먹을 수 있을까?
입력
첫 번째 줄에 통의 개수 과 가 주어진다. ()
두 번째 줄에 처음에 번째 통에 들어 있는 초콜릿의 개수 이 주어진다. ()
출력
연두에게 들키지 않으면서 먹을 수 있는 초콜릿의 최대 개수와, 그 개수의 초콜릿을 먹기 위해 필요한 최소 날짜를 출력한다.