벼락치기 계획 세우기

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

요약
각 과목의 시험 시각과 학점, 13단계 평점별 필요 공부 시간이 주어질 때 학점 가중 평점평균을 최대로 만드는 공부 계획을 세운다.
난이도

어려움10점 중 8점

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

문제

유민이는 이번 학기에 무려 NN개 과목의 기말고사를 봐야 한다! 각 과목의 성적은 낮은 순서부터 F, D-, D0, D+, C-, C0, C+, B-, B0, B+, A-, A0, A+로 총 13단계로 분류되며, 수로 환산되는 평점은 각각 0.0, 0.7, 1.0, 1.3, 1.7, 2.0, 2.3, 2.7, 3.0, 3.3, 3.7, 4.0, 4.3점이다.

ii번째 과목의 시험 시각은 지금으로부터 t_it\_i시간 뒤이고, 이수학점은 c_ic\_i학점이다. 또, 그 과목에서 jj번째로 낮은 평점을 얻기 위해서는 해당 과목을 s_i,js\_{i,j}시간 이상 공부해야 한다. 각 과목은 시험 시각 이전까지만 공부할 수 있고, 여러 과목을 동시에 공부할 수는 없다. 시험을 치르는 데 걸리는 시간은 없다고 가정하고, 여러 시험을 동시에 칠 수도 있다.

늘 그랬듯 아직까지 공부를 전혀 하지 않은 유민이는 효율적인 벼락치기를 통해 평점평균을 최대화하려고 한다. 평점평균이란 NN개 과목 각각에 대하여 이수학점과 그 과목에서 유민이가 얻은 평점의 곱의 총합을 NN개 과목의 이수학점의 총합으로 나눈 값이다. F학점을 받은 과목도 이수학점 계산에 반영된다.

과목명시험 시각이수학점평점을 얻기 위한 공부 시간
F(0.0)D-(0.7)D0(1.0)D+(1.3)C-(1.7)C0(2.0)C+(2.3)B-(2.7)B0(3.0)B+(3.3)A-(3.7)A0(4.0)A+(4.3)
미적분13040371014162027306088120200
세계사803024681030505253198199200
수학318030510152025355075809095100
정보과학320030111111111112

예를 들어, 위 상황에서는 다음과 같이 공부하는 것이 최선이다.

  • 먼저 미적분1을 27시간 공부한다.
  • 다음으로 세계사를 3시간 공부한다.
  • 미적분1 시험을 친다. 총 27시간을 공부했으므로 B-(2.7)를 받게 된다.
  • 세계사를 50시간 더 공부한다.
  • 세계사 시험을 친다. 총 53시간을 공부했으므로 B+(3.3)를 받게 된다.
  • 수학3을 100시간 공부한다.
  • 수학3 시험을 친다. 총 100시간을 공부했으므로 A+(4.3)을 받게 된다.
  • 정보과학3 시험까지 남은 20시간 중 2시간 이상 정보과학3을 공부한다.
  • 정보과학3 시험을 친다. 총 2시간 이상을 공부했으므로 A+(4.3)을 받게 된다.

이때 평점평균은 4×2.7+3×3.3+3×4.3+3×4.34+3+3+3≈3.576923076923\cfrac{4\times 2.7 + 3\times 3.3 + 3\times 4.3 + 3\times 4.3}{4+3+3+3} \approx 3.576923076923점이다.

입력

첫 번째 줄에 과목의 수 NN이 주어진다.

두 번째 줄부터 NN개의 줄에 과목들의 정보가 주어지며, 그 중 ii번째 줄에는 15개의 정수 t_i,,c_i,,s_i,1,s_i,2,⋯ ,s_i,13t\_i,\\, c\_i,\\, s\_{i,1}, s\_{i,2}, \cdots , s\_{i,13}이 공백을 사이에 두고 주어진다.

출력

유민이가 받을 수 있는 평점평균의 최댓값을 출력한다. 절대오차 또는 상대오차는 10−610^{-6}까지 허용한다.

제한

  • 1≤N≤3001 \leq N \leq 300
  • 1≤t_i≤1081 \leq t\_i \leq 10^8
  • 1≤c_i≤41 \leq c\_i \leq 4
  • 0=s_i,1<s_i,2≤s_i,3≤s_i,4≤⋯≤s_i,13≤1080 = s\_{i, 1} < s\_{i, 2} \leq s\_{i, 3} \leq s\_{i, 4} \leq \cdots \leq s\_{i, 13} \leq 10^8

예제1

  1. 예제 1

    입력
    4
    30 4 0 3 7 10 14 16 20 27 30 60 88 120 200
    80 3 0 2 4 6 8 10 30 50 52 53 198 199 200
    180 3 0 5 10 15 20 25 35 50 75 80 90 95 100
    200 3 0 1 1 1 1 1 1 1 1 1 1 1 2
    
    예상 출력
    3.576923076923