그랜드 팜오프
시간 제한1초메모리 제한128 MB
3N마리 소의 무게와 효용을 생성한 뒤, 총 효용이 최대가 되도록 N마리를 고르고 그중 총 무게가 최소인 값을 M으로 나눈 나머지를 출력한다.
문제
농부 존은 소 마리 ()를 기르고 있으며, 각 소에는 번부터 번까지 번호가 붙어 있습니다. 소 는 정수 무게 와 정수 유용도(utility) 를 가지며, 두 값 모두 아래 공식으로 생성됩니다.
농부 존은 자신의 소들을 지역 농업 공동체에 선보이는 농장 경연 대회 "그랜드 팜오프"에 참가합니다. 이 대회에는 정확히 소 마리를 데려갈 수 있으며, 존은 데려가는 마리의 유용도 합이 최대가 되도록 하고 싶어 합니다.
유용도 합을 최대로 만드는 마리 조합은 여러 가지일 수 있습니다. 대회가 참가 소들의 총 무게에 제한을 둘 수도 있으므로, 존은 부차적인 기준으로 총 무게가 더 가벼운 조합을 선호합니다.
유용도 합이 최대인 마리 조합들 가운데 총 무게가 최소인 것을 찾아, 그 최소 총 무게를 ()으로 나눈 나머지를 출력하세요.
각 소 ()의 값은 다음과 같이 계산됩니다.
계수의 범위는 다음과 같습니다.
이 공식은 때때로 같은 값을 여러 번 만들어 낼 수 있으므로, 알고리즘은 중복을 올바르게 처리해야 합니다.
입력
- 첫째 줄: 공백으로 구분된 정수 10개 — , , , , , , , , ,
출력
- 유용도 합을 최대로 하는 마리 선택 모두 가운데 총 무게의 최솟값을 으로 나눈 나머지를 한 줄에 출력합니다.
힌트
이 공식은 무게 과 유용도 를 생성합니다. 유용도가 가장 높은 두 소는 번과 번이며, 이들의 무게 합은 입니다.