집 잔디밭
면접 대비시간 제한1초메모리 제한512 MB
일주일에 최소 한 번은 잔디 전체를 깎는 가장 저렴한 잔디깎이의 이름을 출력하며, 가능한 제품이 없으면 없음을 출력합니다.
문제
새 집을 샀는데, 그 집에는 크고 아름다운 잔디밭이 있다. 잔디를 깎아야 한다. 여러 번. 매주. 여름 내내.
역사상 가장 더운 토요일 오후에 잔디밭을 돌며 잔디깎기 기계를 밀고 다닌 끝에, 더 나은 방법이 있어야 한다고 결심했다. 그러던 중 새로운 로봇 잔디깎기 기계 광고를 보았다. 하지만 어떤 것을 사야 할까? 가격이 다를 뿐만 아니라 절단 속도, 절단 시간, 충전 시간도 모두 다르다!
광고에 따르면, 로봇 잔디깎기 기계는 모든 시간을 잔디를 깎거나 배터리를 충전하는 데 보낸다. 완전히 충전된 상태에서 시작하면, 주어진 속도 c 제곱미터/분으로 t분 동안 잔디를 깎고, 그 후 배터리가 방전된다. 배터리가 방전되면 즉시 충전을 시작한다. r분 동안 충전하면 배터리가 다시 완전히 충전되고 즉시 잔디 깎기를 시작한다.
잔디밭이 충분히 깔끔하고 단정해 보이려면, 구매할 잔디깎기 기계가 평균적으로 적어도 일주일에 한 번은 잔디밭 전체를 깎을 수 있을 만큼 강력해야 한다고 결정했다. 형식적으로, 주 초에 완전히 충전된 상태로 기계를 시작하여 정확히 T주 동안 작동시키면, 모든 양의 정수 T에 대해 잔디밭 전체를 적어도 T번 깎아야 한다. 하지만 그 외에는 특별한 요구 사항이 없으므로, 이 요구 사항을 만족하는 것들 중에서 가장 저렴한 것을 선택할 것이다. 잔디 깎기 목적상, 일주일은 항상 정확히 10 080분이라고 단순화하여 가정할 수 있다.
입력
입력의 첫 번째 줄에는 두 정수 ℓ과 m (1 ≤ ℓ ≤ 10^6, 1 ≤ m ≤ 100)이 주어지며, 각각 잔디밭의 크기(제곱미터)와 고려할 잔디깎기 기계의 수이다. 그 다음 m개의 줄이 이어지며, 각 줄에는 문자열 n과 4개의 정수 p, c, t, r이 쉼표로 구분되어 주어지며, 잔디깎기 기계를 다음과 같이 설명한다:
- n은 잔디깎기 기계의 이름으로, ‘,’를 제외한 최대 60자의 출력 가능 문자(ASCII 32~126)로 이루어진 문자열이며, 공백으로 시작하거나 끝나지 않는다.
- 1 ≤ p ≤ 100 000은 잔디깎기 기계의 가격이다.
- 1 ≤ c ≤ 100은 분당 제곱미터 단위의 절단 속도이다.
- 1 ≤ t ≤ 10 080은 분 단위의 절단 시간이다.
- 1 ≤ r ≤ 10 080은 분 단위의 충전 시간이다.
출력
평균적으로 적어도 일주일에 한 번은 잔디밭 전체를 깎을 수 있는 가장 저렴한 잔디깎기 기계의 이름을 출력한다. 여러 잔디깎기 기계가 같은 최저 가격을 공유하면, 입력에 주어진 순서대로 모든 이름을 출력한다. 그러한 기계가 없으면 “no such mower”를 출력한다.