모듈러 배낭 문제
시간 제한1.5초메모리 제한256 MB
가중치와 비용이 있는 n개의 물건과 소수 p가 주어질 때, 각 나머지 r마다 무게 합을 p로 나눈 나머지가 r인 부분집합의 비용 최댓값을 구합니다.
문제
오늘은 특이한 배낭 문제를 풀어 보자. 물건이 개 있고, 번째 물건의 무게는 , 비용은 이다. 또 소수 가 주어진다. 로 나눈 나머지가 인 각 값에 대해, 총 무게를 로 나눈 나머지가 인 물건 집합의 비용 합의 최댓값을 구하라. 샘플을 제외한 각 테스트의 무게와 비용은 범위에서 무작위로 서로 독립적으로 뽑힌다. 과 는 직접 정한 값이다.
입력
첫 줄에 두 정수 , (, )가 주어진다. 각각 물건의 개수와 나머지를 구할 소수이다.
다음 줄에는 개의 정수 ()가 주어진다. 물건의 무게이다.
그다음 줄에는 개의 정수 ()가 주어진다. 물건의 비용이다.
출력
한 줄에 정수 개를 출력한다. 번째 정수(0부터 시작)는 총 무게를 로 나눈 나머지가 인 물건 집합의 비용 합의 최댓값이다. 그런 집합이 없으면 -1을 출력한다.