수열 합치기
시간 제한1초메모리 제한128 MB
인접한 두 수를 큰 값으로 합치고 그 값을 비용으로 지불하는 과정을 반복해 전체 비용이 가장 작아지는 순서를 구합니다.
문제
수열 이 주어진다. 한 번의 연산에서 인접한 두 수 와 을 골라 그 두 수를 하나로 바꿀 수 있고, 이때 드는 비용은 이다. 연산을 한 번 하면 수열의 길이가 1 줄어들므로 번 하면 길이가 1이 된다.
수열이 주어졌을 때, 길이 1로 만드는 데 드는 최소 비용을 구하는 프로그램을 작성하라.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스는 두 줄이다. 첫째 줄에 수열의 길이 이 주어진다. () 둘째 줄에 수열을 이루는 개의 정수가 공백 한 개로 구분되어 주어진다. 각 정수는 이상 이하다.
출력
각 테스트 케이스마다 한 줄에 Case #x: R 형식으로 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 은 그 수열을 길이 1로 만드는 최소 비용이다.