마라톤 대회
면접 대비시간 제한2초메모리 제한512 MB
1번에서 N번까지의 단순 경로 중 각 도로의 비용 C*(P-T)^2 (P>T일 때)의 합이 예산 K 이하가 되도록 하는 가장 큰 참가자 수 P를 구한다.
문제
마라톤 대회가 열린다. 참가자는 미리 정해진 코스를 따라 달려야 하고, 코스는 아직 정해지지 않았다. 대회가 열리는 곳은 개의 교차로와 개의 양방향 도로로 이루어져 있다. 도로는 두 교차로를 잇는다. 교차로에는 번부터 번까지, 도로에는 번부터 번까지 번호가 붙어 있다.
마라톤 코스는 교차로의 나열 로 나타낸다. 는 코스에 들어가는 교차로의 개수이다. 시작 교차로 은 항상 번 교차로, 마지막 교차로 는 항상 번 교차로여야 한다. 같은 교차로가 두 번 이상 나오면 안 되고, 연속한 두 교차로는 도로로 이어져 있어야 한다.
대회를 열려면 코스에 들어가는 도로를 통제해야 한다. 도로를 통제하는 데 비용을 지불할 수도 있고 지불하지 않을 수도 있다. 각 도로에는 통제 비용 와 지불 인원 상한선 가 있다. 마라톤에 참가하는 사람의 수를 라고 하면, 인 도로는 비용을 지불하지 않고 통제한다. 인 도로를 통제하는 비용은 원이다. 코스의 통제 비용은 코스에 들어가는 도로의 비용을 모두 더한 값이다.
대회 예산 중에서 도로 통제에 지불할 수 있는 금액은 최대 원이다. 코스는 참가할 수 있는 사람이 가장 많아지도록 정하려고 한다. 예산 안에서 코스를 적절히 정했을 때 참가할 수 있는 사람 수의 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 교차로의 수 , 도로의 수 , 예산 가 주어진다. (, , )
둘째 줄부터 개의 줄에 도로의 정보가 한 줄에 하나씩 주어진다. 도로의 정보는 네 정수 , , , (, )로 이루어진다. 와 는 도로가 잇는 두 교차로의 번호이고, 와 는 그 도로를 통제하는 비용을 계산하는 데 쓰는 값이다.
임의의 두 교차로를 잇는 도로는 많아야 한 개이고, 항상 답을 구할 수 있는 경우만 입력으로 주어진다.
출력
예산 안에서 코스를 적절히 정했을 때 참가할 수 있는 사람 수의 최댓값을 첫째 줄에 출력한다.
설명
코스에 도로 두 개가 들어가고 두 도로의 값이 각각 , 라고 하자. 참가자가 3명이면 통제 비용은 원이고, 4명이면 원이며, 6명이면 원이다. 예산이 25원이면 이 코스로는 3명까지 참가한다.