과제 제출하기
시간 제한1초메모리 제한1024 MB
지식 조각 N개마다 잊히는 기간이 정해져 있고, 문제 M개마다 필요한 지식이 주어집니다. 문제를 어떤 순서로 풀어도 되니 모든 문제를 풀기 위한 최소 학습 횟수를 구합니다.
문제
성현이가 배우는 과목에는 개의 지식이 포함된다. 지식은 1부터 까지의 정수로 나타낸다.
성현이는 개의 문제를 모두 풀어서 제출해야 한다. 한 문제를 푸는 데는 하루가 걸리고, 문제를 푸는 순서는 성현이가 정할 수 있다. 따라서 성현이는 1일, 2일, , 일에 문제를 하나씩 푼다.
각 문제를 풀려면 그 문제가 요구하는 지식이 필요하다. 번째 문제를 해결하려면 번, 번, , 번 지식, 총 개의 지식이 필요하다.
지식은 배운 뒤 일정 기간이 지나면 잊어버린다. 번 지식을 일에 공부하면, 일에 성현이는 번 지식을 잊은 상태가 된다. 그러면 일에 성현이는 그 지식을 다시 공부해야 할 수도 있다. 성현이는 하루에 여러 개의 지식을 동시에 배울 수도 있다.
성현이는 지식을 최소 횟수로 공부하고 개의 문제를 모두 해결하고 싶다. 모든 문제를 해결하기 위해 지식을 공부해야 하는 최소 횟수를 구해 보자.
입력
첫 줄에 지식의 개수 과 풀어야 하는 문제의 수 이 공백으로 구분되어 주어진다.
둘째 줄에는 각 지식을 잊게 되는 시간 , , , 이 공백으로 구분되어 주어진다.
이어서 줄에 걸쳐 가 주어지고, 뒤이어 개의 정수 , , , 가 공백으로 구분되어 주어진다. 는 번째 문제를 해결하는 데 필요한 지식의 번호이다.
출력
성현이가 지식을 공부해야 하는 최소 횟수를 출력한다.
제한
- 는 모두 정수이다.
- 모든 에 대해 이다.