아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

미르코가 이기는 경주 코스

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

요약
Mirko가 Slavko를 이기는 유향 사이클 중 도로 수가 가장 적고 시간 차가 가장 큰 경우를 구합니다.
난이도

보통10점 중 7점

유형
최단 경로, 그래프, 동적 계획법
정답자
아직 제출이 없습니다

문제

다브로비나 돈야 그랑프리에 출전한 선수는 미르코와 슬라브코 두 명뿐이다. 경주는 근처 마을을 도는 방식으로 열리고, 마을은 일방통행 도로로 이어져 있다. 도로 ii에는 미르코가 그 도로를 지나는 데 걸리는 시간 MiM_i와 슬라브코가 걸리는 시간 SiS_i가 정해져 있다.

경주 코스는 어떤 마을에서 출발해 같은 마을로 돌아오는 순환 코스다. 코스에 포함된 도로의 MiM_i를 모두 더한 값이 미르코의 기록이고, SiS_i를 모두 더한 값이 슬라브코의 기록이다. 미르코의 기록이 슬라브코의 기록보다 작으면 그 코스에서는 미르코가 이기고, 두 기록의 차이가 미르코가 앞선 시간이다.

코스는 아직 정해지지 않았다. 미르코는 주최 측을 매수해서, 미르코가 이기는 코스 중 도로 수가 가장 적은 코스를 고르게 만들었다. 그런 코스가 여러 개면 주최 측은 미르코가 앞선 시간이 가장 큰 코스를 고른다.

입력

첫째 줄에 마을의 수 NN과 도로의 수 MM이 주어진다. (2≤N≤3002 \le N \le 300, 2≤M≤N(N−1)2 \le M \le N(N-1))

다음 MM개 줄에 도로 하나의 정보인 네 정수 AiA_i, BiB_i, MiM_i, SiS_i가 주어진다. (1≤Ai,Bi≤N1 \le A_i, B_i \le N, Ai≠BiA_i \ne B_i, 0≤Mi,Si≤1060 \le M_i, S_i \le 10^6) 이 도로는 마을 AiA_i에서 마을 BiB_i로 가는 일방통행이고, 지나는 데 미르코는 MiM_i, 슬라브코는 SiS_i의 시간이 걸린다. 같은 마을 쌍을 같은 방향으로 잇는 도로가 두 개 이상 주어지는 경우는 없다.

미르코가 이기는 순환 코스가 적어도 하나 존재한다.

출력

주최 측이 고른 코스의 도로 수와 그 코스에서 미르코가 앞선 시간을 공백으로 구분해 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    3 4
    1 2 3 0
    2 3 3 0
    3 1 0 100
    2 1 0 4
    
    예상 출력
    2 1
    
  2. 예제 2

    입력
    5 7
    1 2 4 1
    2 3 5 1
    3 1 1 6
    1 3 15 5
    2 4 7 5
    4 5 1 4
    5 3 1 0
    
    예상 출력
    5 2