만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Buffcraft

면접 대비

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

요약
직접 버프와 퍼센트 버프를 합쳐 최대 k개 골라 최종 체력을 가장 크게 만듭니다.
난이도

쉬움10점 중 3점

유형
정렬, 그리디, 완전 탐색
정답자
아직 제출이 없습니다

문제

브렌다는 롤플레잉 게임 Buffcraft를 한다. Buffcraft에서는 방패, 검, 책 같은 소지품이 캐릭터의 능력치를 바꾸지 않는다. 능력치를 올리는 방법은 캐릭터에게 버프를 거는 것뿐이다.

Buffcraft의 버프는 두 종류다. 직접 버프는 능력치의 기본값을 올리고, 퍼센트 버프는 기본값에 비례하는 만큼 능력치를 올린다. 정확히 말하면 어떤 능력치의 기본값이 bb이고 강도가 d1,d2,…,dnd_1, d_2, \dots, d_n인 직접 버프 nn개와 강도가 p1,p2,…,pmp_1, p_2, \dots, p_m인 퍼센트 버프 mm개를 걸었다면, 최종 능력치는 (b+d1+d2+⋯+dn)(100+p1+p2+⋯+pm)/100(b + d_1 + d_2 + \dots + d_n)(100 + p_1 + p_2 + \dots + p_m)/100이다. 최종 능력치는 소수일 수 있다.

캐릭터의 버프 슬롯은 kk개뿐이고, 버프를 kk개보다 많이 걸면 마지막 kk개만 남는다. 그래서 한 번에 kk개를 넘게 걸 이유가 없다. 같은 버프를 두 번 걸 수는 없다.

브렌다는 캐릭터를 레이드에 보내기 전에 체력을 최대로 올리려 한다. 가지고 있는 직접 버프와 퍼센트 버프 중에서 체력을 가장 크게 만드는 조합을 골라라.

입력

첫 줄에 네 정수 bb, kk, cdc_d, cpc_p가 주어진다. 각각 캐릭터의 기본 체력, 버프 슬롯의 개수, 쓸 수 있는 직접 버프의 개수, 쓸 수 있는 퍼센트 버프의 개수다.

둘째 줄에 직접 버프의 강도 did_i가 cdc_d개 주어진다.

셋째 줄에 퍼센트 버프의 강도 pip_i가 cpc_p개 주어진다.

입력의 모든 수는 0 이상 50000 이하다. cdc_d나 cpc_p가 0이면 그 줄은 빈 줄이다.

출력

첫 줄에 사용할 직접 버프의 개수 nn과 퍼센트 버프의 개수 mm을 출력한다. (0≤n≤cd0 \le n \le c_d, 0≤m≤cp0 \le m \le c_p, 0≤n+m≤k0 \le n + m \le k)

둘째 줄에 사용할 직접 버프의 번호 nn개를 증가하는 순서로 출력한다. 버프의 번호는 1부터 시작한다.

셋째 줄에 사용할 퍼센트 버프의 번호 mm개를 증가하는 순서로 출력한다.

nn이나 mm이 0이면 그 자리에 빈 줄을 출력한다.

체력이 최대가 되는 조합은 여러 가지일 수 있으므로, 다음 규칙으로 정한 조합을 출력한다.

  1. 직접 버프를 강도가 큰 순서로 정렬한다. 강도가 같으면 번호가 작은 쪽을 앞에 둔다. 퍼센트 버프도 같은 방식으로 정렬한다.
  2. 00부터 min⁡(k,cd)\min(k, c_d)까지의 각 nn에 대해 m=min⁡(k−n,cp)m = \min(k - n, c_p)로 두고, 정렬한 순서에서 앞의 직접 버프 nn개와 앞의 퍼센트 버프 mm개를 고른다.
  3. 이렇게 만든 후보 중에서 체력이 가장 큰 것을 출력한다. 체력이 같은 후보가 여럿이면 nn이 가장 작은 것을 고른다.

예제6

  1. 예제 1

    입력
    70 3 2 2
    40 30
    50 40
    
    예상 출력
    2 1
    1 2
    1
    
  2. 예제 2

    입력
    1 2 3 4
    6 6 5
    8 10 7 9
    
    예상 출력
    2 0
    1 2
    
  3. 예제 3

    입력
    100 0 3 3
    1 2 3
    10 20 30
    
    예상 출력
    0 0
    
  4. 예제 4

    입력
    0 1 1 1
    0
    0
    
    예상 출력
    0 1
    
    1
    
  5. 예제 5

    입력
    5 3 0 2
    
    7 9
    
    예상 출력
    0 2
    
    1 2
    
  6. 예제 6

    입력
    5 2 3 0
    1 2 3
    
    
    예상 출력
    2 0
    2 3