나누어떨어지는 연속 부분 수열
면접 대비시간 제한1초메모리 제한128 MB
주어진 d로 나누어지는 연속 부분배열의 개수를 접두합의 나머지를 이용해 세는 문제입니다.
문제
양의 정수로 이루어진 수열이 주어진다. 이 수열의 연속한 부분 수열 중에서 원소들의 합이 정수 로 나누어떨어지는 것이 몇 개인지 세는 프로그램을 작성하시오.
예를 들어 수열 에서 합이 로 나누어떨어지는 연속 부분 수열은 모두 개이다. 구체적으로 위치 구간(1부터 시작하며 양 끝을 포함) , , , , , 에 해당하는 부분 수열의 합이 각각 의 배수이다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다 (). 각 테스트 케이스는 두 줄로 이루어진다.
각 테스트 케이스의 첫째 줄에는 나눗셈의 기준이 되는 정수 ()와 수열의 길이 ()이 공백으로 구분되어 주어진다. 둘째 줄에는 수열의 원소 개가 공백으로 구분되어 주어지며, 각 원소는 이상 이하의 정수이다.
출력
각 테스트 케이스마다 합이 로 나누어떨어지는 연속 부분 수열의 개수를 한 줄에 하나씩 출력한다.