해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Polycarp는 TV-쇼를 보았다. 이 쇼에서는 k명의 심사위원이 한 명씩 차례로 참가자에게 일정한 점수를 더하는 방식으로 평가했다(점수는 음수일 수도 있으며, 이 경우 점수가 차감되었다). 처음에 참가자에게는 어떤 점수가 있었고, 각 평가 점수는 하나씩 차례로 그의 점수에 더해졌다. i-th 심사위원이 ai점을 주었다고 알려져 있다.
Polycarp는 이 k개의 평가 점수가 주어지기 전에 참가자에게 몇 점이 있었는지는 기억하지 못하지만, k명의 심사위원 각각이 참가자를 평가한 뒤 발표된 점수들 중에 n개의 (n ≤ k) 값 b1, b2, ..., bn이 있었다는 것은 기억한다(모든 값 bj이 서로 다름이 보장된다). Polycarp가 발표된 점수를 모두 기억하지는 못할 수도 있다. 즉, n < k일 수 있다. 초기 점수는 발표되지 않았다는 점에 유의한다.
심사위원들이 참가자를 평가하기 전에 참가자가 가질 수 있었던 점수의 가능한 경우의 수를 구해야 한다.
첫 번째 줄에는 심사위원의 수와 Polycarp가 기억하는 점수의 수를 나타내는 두 정수 k와 n (1 ≤ n ≤ k ≤ 2 000)가 주어진다.
두 번째 줄에는 심사위원들이 시간순으로 준 평가 점수인 k개의 정수 a1, a2, ..., ak ( - 2 000 ≤ ai ≤ 2 000)가 주어진다.
세 번째 줄에는 Polycarp가 기억하는 점수 값인 서로 다른 정수 n개 b1, b2, ..., bn ( - 4 000 000 ≤ bj ≤ 4 000 000)가 주어진다. 이 값들이 반드시 시간순으로 주어지는 것은 아님에 유의한다.
심사위원들이 참가자를 평가하기 전에 참가자가 가질 수 있었던 점수의 가능한 경우의 수를 출력한다. If Polycarp가 무언가를 망쳐 가능한 경우가 없다면 "0"을 출력한다(따옴표 제외).
4 1
-5 5 0 20
10
3
2 2
-2000 -2000
3998000 4000000
1
첫 번째 예제의 답은 3이다. 참가자의 초기 점수는 - 10, 10 또는 15점일 수 있기 때문이다.
두 번째 예제에서는 4 002 000과 같은 올바른 초기 점수가 하나뿐이다.