프로그램 명: hospital
제한시간: 1 초

1부터 N 까지 번호가 붙여진 N 개의 마을과 이들 마을을 연결하는 도로망이 있다. 이 도로망에서는, 각 마을로부터 다른 모든 마을까지 가는 경로는 하나뿐이다. 각 마을에 사는 사람들의 수와 각 도로를 지나는데 걸리는 시간이 주어진다. 그리고 이들 마을 중 서로 다른 두 마을에만 병원이 있다.

마을 A에서 마을 B까지 가는데 걸리는 시간은 A에서 B까지의 경로 상에 있는 도로들의 통행시간의 합이다.

예를 들어, 다음과 같은 도로망을 고려해 보자.

동그라미는 마을을 나타내고, 동그라미 안에 있는 수는 마을의 번호이고, 바깥에 있는 수는 마을에 있는 사람들의 수이다. 선분은 도로를 나타내고, 선분 상의 수는 도로의 통행시간을 나타낸다. 또한 병원이 세워져 있는 두 마을은 회색으로 칠해져 있다.

예산을 도로개선에 투입하여 도로의 통행시간을 줄일 수 있다. 이때 각 도로는 예산 C 를 들이면 통행시간을 C 시간 만큼 줄일 수 있다. 이제 다음의 제약조건을 만족하면서 전체 예산 B 를 도로개선에 투입한다.

제약조건:

  1. 도로에 예산을 아무리 많이 사용하더라도 각 도로의 통행시간을 L 미만으로 할 수는 없다.
  2. 도로개선에 사용하는 전체예산은 B 이하이어야 한다.
* L 과 B 의 값은 입력으로 주어진다.

이 때, 위의 제약조건을 만족하면서 다음 두 질문의 답을 구하는 프로그램을 작성하시오.

그림 1의 도로망에서 전체예산 B = 7이고, L = 6일 경우,

프로그램의 실행시간은 1초를 넘을 수 없다. 한 질문의 답만 맞을 경우 부분 점수가 주어진다.

입력

출력

반드시 질문 1의 답은 첫째 줄에, 질문 2의 답은 둘째 줄에 출력한다. 답이 2^32 을 넘을 수 있음에 유의하라.

입출력 예

입력

7 6
8
50 20 10 10 5 20 30 15
1 3 9
3 2 8
3 4 5
4 5 9
7 5 9
8 5 7
3 6 5
3 5

출력 

875
7
출처: 제27회한국정보올림피아드시?도지역본선(2010.5.29) 중등부문제5

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]