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

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

전국 대학생 프로그래밍 대회 동아리 연합

시간 제한1초메모리 제한128 MB

요약
호텔별 1인 가격과 주별 수용 인원이 주어질 때, N명을 모두 수용하면서 예산 B 안에 드는 가장 저렴한 호텔과 주를 찾는다.
난이도

쉬움10점 중 2점

유형
완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

당신은 작년 '전국 대학생 프로그래밍 대회 동아리 연합'(이하 전대프연) 회의에 참석하지 않았고, 그 결과 올해 회장으로 선출되었다.

전대프연 회장은 가을에 오프라인 대회를 한 번 개최해야 한다. 대회를 열 주말은 자유롭게 고를 수 있으며, 회원들이 묵을 호텔도 하나 정해야 한다. 예산이 넉넉하지 않으므로 되도록 저렴한 호텔을 선택해야 한다.

규칙은 다음과 같다.

  • 모든 회원은 반드시 같은 호텔에서 같은 주말에 묵어야 한다. (작년에는 회원들이 여러 호텔에 흩어져 묵다가 일부가 길을 잃는 사고가 있었다.)
  • 선택한 호텔은 선택한 주에 모든 회원 NN명을 수용할 수 있어야 한다.
  • 여행의 총 비용은 예산 BB를 초과할 수 없다. 총 비용은 (참가자 수) ×\times (호텔의 일인당 숙박비용)으로 계산한다.

대회를 개최할 수 있는 방법 중에서 총 비용이 가장 작은 값을 구하라.

입력

첫째 줄에 참가자 수 NN (1≤N≤2001 \le N \le 200), 예산 BB (1≤B≤5000001 \le B \le 500000), 호텔의 수 HH (1≤H≤181 \le H \le 18), 고를 수 있는 주말의 수 WW (1≤W≤131 \le W \le 13)가 공백으로 구분되어 주어진다.

이어서 각 호텔의 정보가 두 줄씩 주어진다. 각 호텔의 첫 번째 줄에는 일인당 숙박비용 pp (1≤p≤100001 \le p \le 10000)가 주어지고, 두 번째 줄에는 각 주에 투숙 가능한 인원 a1,a2,…,aWa_1, a_2, \dots, a_W (0≤ai≤10000 \le a_i \le 1000)가 공백으로 구분되어 주어진다. 여기서 aia_i는 ii번째 주에 그 호텔에 묵을 수 있는 최대 인원이다.

출력

대회를 개최할 수 있으면 최소 총 비용을 출력한다. 어떤 방법으로도 개최할 수 없으면 stay home을 출력한다.

예제2

  1. 예제 1

    입력
    3 1000 2 3
    200
    0 2 2
    300
    27 3 20
    
    예상 출력
    900
    
  2. 예제 2

    입력
    5 2000 2 4
    300
    4 3 0 4
    450
    7 8 0 13
    
    예상 출력
    stay home