만드는 중입니다

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

국경 통과

시간 제한15초메모리 제한2048 MB

요약
무게 한도가 W인 가방에 물건 n개를 나눠 담을 때, 가방마다 최대 세금의 합이 가장 작은 값과 그 방법의 수를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 비트 연산, 조합론
정답자
아직 제출이 없습니다

문제

Kostya F.는 과세 대상 물품 nn개를 가지고 어떤 나라의 국경을 넘으려 한다. 각 물품 ii는 두 정수 wiw_i(무게)와 cic_i(국경을 넘기 위해 내야 하는 세금)로 나타낸다.

Kostya는 모든 물품을 가방에 나눠 담아야 한다. 가방 수에는 제한이 없다. 각 가방에 든 물품의 무게 합은 WW를 넘을 수 없다.

세관에는 특별한 규칙이 있다. 세관원은 가방을 열고, 가방의 세금을 안에 든 물품들의 cic_i 중 최댓값으로 정한다. 전체 세금은 모든 가방 세금의 합이다.

Kostya가 낼 수 있는 전체 세금의 최솟값과, 그 최솟값을 달성하는 방법의 수를 구하라. 방법의 수는 매우 클 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 구한다. 두 분배는 가방 사이에 일대일 대응이 있어서 대응되는 가방이 정확히 같은 물품 집합을 가질 때 같은 것으로 본다.

입력

첫 줄에 두 정수 nn과 WW가 주어진다(1≤n≤221 \le n \le 22; 1≤W≤5⋅1071 \le W \le 5 \cdot 10^7).

이어서 nn개의 줄에 각각 두 정수 wiw_i와 cic_i가 주어진다(1≤wi≤W1 \le w_i \le W; 1≤ci≤5⋅1071 \le c_i \le 5 \cdot 10^7).

출력

두 정수를 출력한다. 첫 번째는 전체 세금의 최솟값이고, 두 번째는 그 최솟값을 달성하는 방법의 수를 998 244 353998\,244\,353으로 나눈 나머지다.

힌트

예시에서 물품은 1부터 5까지 번호가 매겨져 있다. 전체 세금 9를 달성하는 방법은 4가지다.

  • [1, 3], [2, 4, 5]: 세금 5 + 4 = 9
  • [1, 4], [2, 3, 5]: 세금 5 + 4 = 9
  • [1, 5], [2, 3, 4]: 세금 5 + 4 = 9
  • [1, 2], [3, 4], [5]: 세금 5 + 3 + 1 = 9

예제1

  1. 예제 1

    입력
    5 5
    3 5
    1 4
    2 3
    2 2
    2 1
    
    예상 출력
    9 4