보물 분배
시간 제한10초메모리 제한1024 MB
각 보물을 안나, 브루노, 미선택 중 하나로 나누어 시장가 합계 차이가 D 이하가 되도록 하고 브루노의 희소가치 우위를 최대로 합니다.
문제
도둑 Anna와 Bruno가 대부호의 저택에 숨어들어 보물 1번부터 보물 번까지 개를 찾아냈다. 두 사람은 이 보물을 나누어 가지기로 했다. 먼저 Anna가 보물 중 몇 개를 가져가고, 남은 보물 중 몇 개를 Bruno가 가져간다. 같은 보물을 두 사람이 함께 가질 수는 없다. Anna와 Bruno는 보물을 하나도 가져가지 않아도 된다. 가져가지 않은 보물은 저택에 그대로 두므로, 두 사람 모두 손대지 않는 보물이 있어도 된다.
보물마다 시장 가치와 귀중도라는 두 값이 정해져 있다. Anna가 가져간 보물의 시장 가치 합과 Bruno가 가져간 보물의 시장 가치 합의 차이의 절댓값이 이하이면, Anna는 공평하다고 여기고 만족한다. 한편 Bruno는 Anna보다 귀중도가 큰 보물을 원한다.
Anna가 만족하도록 보물을 나누었을 때, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값의 최댓값을 구하여라.
입력
입력은 개의 줄로 이루어진다.
첫째 줄에는 두 정수 과 가 공백을 사이에 두고 주어진다 (, ). 보물의 개수가 개이고, Anna가 가져간 보물의 시장 가치 합과 Bruno가 가져간 보물의 시장 가치 합의 차이의 절댓값이 이하이면 Anna가 만족한다는 뜻이다.
이어지는 개의 줄 중 번째 줄 ()에는 두 정수 와 가 공백을 사이에 두고 주어진다 (, ). 보물 의 시장 가치가 이고 귀중도가 라는 뜻이다.
출력
Anna가 만족하도록 보물을 나누었을 때, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값의 최댓값을 한 줄에 출력한다.
힌트
첫 번째 예제에서 Anna가 보물 2, 보물 3, 보물 5를 가져가고 Bruno가 보물 1과 보물 6을 가져가면, 시장 가치 합은 Anna가 130, Bruno가 120이다. 차이의 절댓값 10이 이하이므로 Anna는 만족한다. 이때 귀중도 합은 Anna가 400, Bruno가 1600이므로, Bruno가 가져간 보물의 귀중도 합에서 Anna가 가져간 보물의 귀중도 합을 뺀 값은 1200이다. 이 값이 최댓값이다.