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

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

맛있는 뷔페

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

요약
맛이 선형으로 감소하는 조각 음식과 떠먹는 음식을 조합해 무게가 정확히 w그램인 접시의 총 맛을 최대화합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 이분 탐색, 수학, 그리디
정답자
아직 제출이 없습니다

문제

뷔페에서 점심을 고르고 있다. 여러 요리가 있고, 원하는 대로 조합할 수 있다. 만두나 구운 감자처럼 비슷한 크기의 조각으로 나뉜 요리는 이산 요리라고 부르며, 조각 단위로만 가져갈 수 있다. 또 다른 요리는 자유롭게 양을 고를 수 있는 연속 요리다.

같은 요리라도 이미 먹은 양에 따라 느끼는 맛이 달라진다. 요리 ii는 초기 맛 tit_i와 맛 감소율 Δti\Delta t_i를 가진다. 이산 요리에서 nn번째 조각의 맛은 ti−(n−1)Δtit_i - (n-1)\Delta t_i이고, 연속 요리에서 이미 xx그램을 먹은 뒤 dxdx그램을 더 먹을 때 느끼는 맛은 (ti−xΔti) dx(t_i - x\Delta t_i)\,dx이다. 따라서 이산 요리 NN조각, 연속 요리 XX그램을 먹었을 때 총 맛은 각각

∑n=1N(ti−(n−1)Δti),∫0X(ti−xΔti) dx\sum_{n=1}^{N} (t_i - (n-1)\Delta t_i), \quad \int_0^X (t_i - x\Delta t_i)\,dx

이다. 요리끼리의 궁합은 고려하지 않고, 한 끼의 총 맛은 각 요리에서 얻은 맛의 합으로 정의한다. 무게도 마찬가지다.

각 요리의 tit_i와 Δti\Delta t_i는 이미 구해 두었다. 이제 무게가 정확히 ww그램인 한 끼에서 얻을 수 있는 최대 총 맛을 구하라.

입력

하나의 테스트 케이스가 주어진다.

  • 1행: 요리 수 dd와 목표 무게 ww (1≤d≤2501 \le d \le 250, 1≤w≤100001 \le w \le 10000)
  • 다음 dd행: 각 요리 설명
    • D $w_i$ $t_i$ $\Delta t_i$: 조각 하나가 wiw_i그램인 이산 요리
    • C $t_i$ $\Delta t_i$: 연속 요리

모든 wiw_i, tit_i, Δti\Delta t_i는 정수이며 1≤wi≤100001 \le w_i \le 10000, 0≤ti,Δti≤100000 \le t_i, \Delta t_i \le 10000이다.

출력

무게가 정확히 ww그램인 식사에서 얻을 수 있는 최대 총 맛을 출력한다. 상대 오차 또는 절대 오차 10−610^{-6} 이내여야 한다. 정확히 ww그램을 만들 수 없으면 impossible을 출력한다.

예제3

  1. 예제 1

    입력
    2 15
    D 4 10 1
    C 6 1
    
    예상 출력
    40.500000000
    
  2. 예제 2

    입력
    1 3
    D 4 10 1
    
    예상 출력
    impossible
    
  3. 예제 3

    입력
    1 8
    D 4 10 1
    
    예상 출력
    19.000000000