아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

용량 확보

면접 대비

시간 제한2초메모리 제한512 MB

요약
e GB 이상 용량을 확보하면서 변환하는 세트의 총 크기를 최소화하도록 RAID-1 세트를 고릅니다.
난이도

보통10점 중 5점

유형
동적 계획법
정답자
아직 제출이 없습니다

문제

NSA는 러시아어와 스페인어 번역 데이터와 전화 도청 파일이 계속 늘어나서, 데이터 센터의 용량을 최대 1 엑사바이트까지 늘리려고 한다.

예산이 넉넉하지 않아 새 디스크는 사지 못한다. 그래서 저장 방식을 바꿔 용량을 확보한다.

모든 서버는 디스크 네 개가 RAID-1을 이루고 있다. RAID-1 세트를 RAID-5 세트로 바꾸면 보관할 수 있는 용량이 세 배가 된다.

데이터 센터에는 RAID-1 세트가 n개 있다. 세트 i는 크기가 SiS_i인 디스크로 이루어져 있고 데이터를 SiS_i GB 보관한다. 이 세트를 RAID-5로 바꾸면 3Si3 S_i GB를 보관하므로, 세트 i를 변환하면 전체 용량이 2Si2 S_i GB 늘어난다.

변환하는 세트의 크기 합이 최소가 되도록 세트를 골라서 용량을 e GB 이상 더 확보하는 프로그램을 작성하시오.

예를 들어 디스크의 크기가 S=4S = 4이면 RAID-1 세트는 4 GB(D0D_0부터 D3D_3까지)를, RAID-5 세트는 3×4=123 \times 4 = 12 GB(D0D_0부터 D11D_{11}까지)를 저장한다.

입력

첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스는 100개를 넘지 않는다.

각 테스트 케이스의 첫째 줄에는 RAID-1 세트의 수 n과 확보해야 하는 용량 e가 주어진다. (1≤n≤1001 \le n \le 100, 0≤e≤1090 \le e \le 10^9)

둘째 줄에는 각 세트의 크기 S1S_1부터 SnS_n까지가 주어진다. (1≤Si≤20001 \le S_i \le 2000)

출력

각 테스트 케이스마다 변환해야 하는 용량의 최솟값을 GB 단위로 한 줄에 출력한다. 어떻게 변환해도 용량을 e GB만큼 더 확보하지 못하면 FULL을 출력한다.

힌트

  • 예제의 첫 번째 케이스는 세트 하나만 변환하면 된다. 전체 용량은 1500 + 500 = 2000 GB가 된다.
  • 두 번째 케이스는 600 GB 세트와 700 GB 세트를 변환한다. 400 + 600 + 700 + 1000 = 2700 GB이던 용량이 400 + 1800 + 2100 + 1000 = 5300 GB가 된다. 나머지 조합은 변환하는 용량이 더 크다.
  • 세 번째 케이스는 필요한 용량을 확보하지 못한다.

예제1

  1. 예제 1

    입력
    3
    2 500
    500 500
    4 2400
    400 600 700 1000
    2 1000
    10 10
    
    예상 출력
    500
    1300
    FULL