타잔 점프
시간 제한2초메모리 제한256 MB
각 k마다 타잔이 최대 k번 점프로 마지막 나무에 닿으려면 나무 높이를 최소 몇 번 바꿔야 하는지 구합니다.
문제
알마티 근처의 숲에 나무 그루가 한 줄로 서 있다. 나무는 왼쪽부터 오른쪽으로 1번부터 번까지 번호가 붙어 있다. 번 나무의 높이는 이다.
한 번의 점프에서 타잔은 번 나무의 꼭대기에서 번 나무()의 꼭대기로 이동할 수 있다. 이는 다음 조건 중 하나 이상이 성립할 때이다.
- ,
- 모든 ()에 대해 이고 ,
- 모든 ()에 대해 이고 .
타잔은 1번 나무 위에 있고 번 나무에 도달하려 한다. 타잔의 ICPC 팀원 아베이가 도울 수 있다. 아베이는 다음 변경을 원하는 만큼 몇 번이고 할 수 있다. 번호 ()와 정수 ()를 고른 뒤 로 설정한다.
를 1부터 까지 각각 두고, 타잔이 번 이하의 점프로 번 나무에 도달할 수 있도록 아베이가 해야 하는 변경 횟수의 최솟값을 구하라.
입력
첫 줄에 테스트 케이스의 수 가 주어진다 (). 각 테스트 케이스는 다음과 같이 주어진다.
각 테스트 케이스의 첫 줄에는 나무의 수 이 주어진다 ().
둘째 줄에는 개의 정수 이 주어진다 ().
모든 테스트 케이스의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 정수 개를 출력한다. 번째 정수는 타잔이 1번 나무에서 번 나무까지 번 이하의 점프로 갈 수 있게 하려고 아베이가 해야 하는 변경 횟수의 최솟값이다.
힌트
첫 번째 테스트 케이스에서 일 때 아베이가 1번 나무의 높이를 3으로 바꾸면 타잔은 마지막 나무로 뛸 수 있다. 와 일 때는 변경 없이 타잔이 마지막 나무에 도달할 수 있다.