스퀘어 게임
시간 제한1초메모리 제한1024 MB
정수 수열의 구간마다 k가 k개 있으면 k^2 하나로 바꾸는 연산을 최대 몇 번 할 수 있는지 구합니다.
문제
2 이상의 정수 에 대해, 개의 를 한 개로 바꾸는 작업을 "스퀘어"라고 하자.
정수 개 이 주어진다. 다음 쿼리를 처리하는 프로그램을 작성하시오.
- : 수열 에서 가능한 스퀘어의 최대 횟수를 구하여 출력한다.
예를 들어, 수열 에서 2개의 2를 4로 바꾸는 작업을 두 번 하면 가 된다. 이후 4개의 4를 16으로 바꿀 수 있으므로 스퀘어는 총 3번 가능하다. 따라서 이 수열에서 가능한 스퀘어의 최대 횟수는 3이다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. ()
각 테스트 케이스의 첫 줄에는 정수 이 주어진다. ()
다음 줄에는 개의 정수 이 공백으로 구분되어 주어진다. ()
다음 줄에는 쿼리의 개수 가 주어진다. ()
다음 개 줄의 번째 줄에는 번째 쿼리를 나타내는 두 정수 , 가 공백으로 구분되어 주어진다. ()
출력
각 테스트 케이스마다 첫 줄에 "Case #"를 출력한다. 이때 는 테스트 케이스의 번호이다.
다음 개 줄에는 가능한 스퀘어의 최대 횟수를 출력한다.