블록 쌓기
시간 제한1초메모리 제한1024 MB
구간에 블록을 하나씩 쌓는 시행으로 최종 개수를 a₁부터 a_N까지 만들 때, 시행 횟수의 최솟값과 그때의 최소 비용을 구한다.
문제
개의 칸이 일렬로 나열되어 있고 이 위에 블록들을 쌓으려고 한다. 초기에 쌓인 블록은 없으며 다음과 같은 시행으로 블록을 쌓을 수 있다.
- 인 두 정수 , 을 골라 을 만족하는 모든 에 대해 번째 칸에 블록을 한개씩 쌓는다. 이 때 만큼의 비용이 든다.
목표는 인 모든 에 대해 번째 칸에 있는 블록의 개수가 개가 되도록 하는 것이다. 이 때 필요한 시행의 최소 횟수와 시행을 최소로 할 때 비용의 최솟값을 구하여라.
입력
첫 번째 줄에 칸의 개수를 나타내는 정수인 이 주어진다.
두 번째 줄에 이 공백으로 구분되어 주어진다.
출력
시행의 최소 횟수와 시행을 최소로 할 때 비용의 최솟값을 공백으로 구분하여 출력한다.