카라반 여행 계획
면접 대비시간 제한5초메모리 제한1024 MB
시작 지점 0에서 출발해 뒤로 가지 않고, 지정한 날짜에 지정한 오아시스에 도착하는 서로 다른 여행 계획의 수를 셉니다.
문제
카라반 경로는 하루 이동 거리보다 조금 짧은 간격으로 늘어선 야영지의 순서이다. 각 야영지는 물이 적은 건조 야영지이거나, 물과 가축 사료가 풍부한 오아시스이다. 카라반 여행은 항상 오아시스에서 출발해 오아시스에서 끝나며, 지나온 야영지로 되돌아가지 않는다. 카라반 여행은 목적지 오아시스와 그곳에 도착하는 데 걸리는 일수로 정해진다. 예를 들어 오아시스가 2, 3, 5, 7, 11번 야영지에 있고, 카라반이 10일 뒤에 7번 야영지에서 다른 카라반과 만나려 한다고 하자. 이때 카라반은 3일을 기다렸다가 곧장 7번 야영지로 갈 수 있고, 지금 출발해 7번 야영지에서 3일을 기다릴 수 있으며, 2, 3, 5번 야영지에서 각각 하루씩 기다릴 수도 있다. 카라반 여행 계획은 매일 밤 어느 야영지에 머물지를 정한 것이다. 예를 들어 2, 3, 5번 야영지에서 각각 하루씩 기다리면 여행 계획은 1, 2, 2, 3, 3, 4, 5, 5, 6, 7이 된다.
오아시스가 2, 3, 5, 7, 11번 야영지에 있을 때, 5번 야영지까지 7일이 걸리는 여행에는 아래와 같이 10가지 여행 계획이 있다. 0은 출발 지점에서 쉬는 것을 뜻한다.
0012345, 0122345, 0123345, 0123455, 1222345, 1223345, 1223455, 1233345, 1233455, 1234555
카라반 경로 위 오아시스의 위치와, 여행마다 목적지 번호와 소요 일수가 주어질 때, 각 여행에 대해 서로 다른 여행 계획의 수를 구하는 프로그램을 작성하라.
입력
첫 줄에는 공백으로 구분된 두 정수 과 이 주어진다. 은 주어질 오아시스 위치의 개수이고, 은 여행 계획 수를 구할 카라반 여행의 개수이다. , .
둘째 줄에는 각 오아시스까지의 일수 이 공백으로 구분되어 오름차순()으로 주어진다. .
나머지 개 줄에는 각각 공백으로 구분된 두 정수 과 이 주어진다. 은 목록에서 목적지 오아시스의 번호이고, 은 그곳에 도착하는 데 걸리는 일수이다. , .
출력
개의 줄을 출력한다. 번째 줄에는 입력의 번째 줄에 주어진 여행에 대해, 둘째 줄의 야영지 경로에서 가능한 서로 다른 여행 계획의 수를 정수 하나로 출력한다.