각 음식의 유통기한을 지키면서 먹을 음식과 순서를 정해 생존 시간을 최대화합니다.
보통5백트래킹동적 계획법면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB당신은 무인도에 조난당했다. 다행히 음식이 든 상자를 하나 챙겼지만, 풀 한 포기 자라지 않는 돌섬인 데다 낚시할 방법도 없어서 음식을 더 구하지 못한다.
상자를 확인해 보니 음식은 모두 N개다. 각 음식 i마다 지금 기준으로 남은 유통기한 Pi와 그 음식을 먹었을 때 허기를 참을 수 있는 시간 Si를 알아냈다.
음식을 먹는 규칙은 다음과 같다.
먹을 음식과 먹는 순서를 마음대로 정할 때, 무인도에서 살아남는 최대 시간을 구하라. 마지막으로 먹은 음식이 t분에 들어갔고 그 음식의 값이 S라면 생존 시간은 t+S분이다.
첫 줄에 테스트 케이스의 개수 T가 주어진다. 이어서 각 테스트 케이스가 다음 형식으로 주어진다.
N
P1 S1
P2 S2
...
PN SN
각 테스트 케이스 x마다 Case #x: y 형식으로 한 줄씩 출력한다. y는 그 테스트 케이스에서 무인도에서 살아남는 최대 시간이다.