만드는 중입니다

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

시험 공부 시간 배분

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

요약
볼록성을 띠는 이차함수 성적 함수들에 대해 T시간을 배분해 평균 성적을 최대화하는 문제로, 시간이 연속적이고 반올림까지 요구한다.
난이도

어려움10점 중 8점

유형
수학, 그리디, 이분 탐색, 구현
정답자
아직 제출이 없습니다

문제

기말고사가 코앞이다. 프로그래밍 대회에 시간을 쏟느라 공부는 거의 못 했고, 공부할 과목은 NN개인데 쓸 수 있는 시간은 정해져 있다. NN개 과목의 평균 점수가 최대가 되도록 과목마다 공부 시간을 정해야 한다.

쓸 수 있는 시간은 모두 합쳐 TT시간이다. 과목 ii를 tt시간 공부하면 그 과목에서 받는 점수는 fi(t)=ait2+bit+cif_i(t) = a_i t^2 + b_i t + c_i이고, 모든 과목이 다음 네 조건을 만족한다.

  • fi(0)≥0f_i(0) \ge 0
  • fi(T)≤100f_i(T) \le 100
  • ai<0a_i < 0
  • fi(t)f_i(t)는 구간 [0,T][0, T]에서 감소하지 않는다.

공부 시간은 정수 시간이 아니어도 되고, 한 시간을 쪼개 배분해도 된다. 과목에 배분한 시간의 합은 TT시간을 넘을 수 없다. NN개 과목의 평균 점수가 최대일 때 그 값을 구하라.

입력

첫째 줄에 과목 수 NN과 전체 공부 시간 TT가 공백을 사이에 두고 주어진다. (1≤N≤101 \le N \le 10, 1≤T≤2401 \le T \le 240, 둘 다 정수)

다음 NN개 줄에 과목 ii의 aia_i, bib_i, cic_i가 공백을 사이에 두고 주어진다. 세 값은 소수점 아래 넷째 자리까지 주어지는 실수이고, 절댓값은 100 이하이다.

출력

얻을 수 있는 최대 평균 점수를 한 줄에 출력한다. 소수점 아래 일곱째 자리에서 반올림해 소수점 아래 여섯째 자리까지 적고, 자리가 비면 0을 채워 항상 여섯 자리를 출력한다.

예제2

  1. 예제 1

    입력
    2 96
    -0.0080 1.5417 25.0000
    -0.0080 1.5417 25.0000
    
    예상 출력
    80.569600
    
  2. 예제 2

    입력
    3 34
    -0.0657 4.4706 23.0000
    -0.0562 3.8235 34.0000
    -0.0493 3.3529 42.0000
    
    예상 출력
    70.073149