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

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

길 막기

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

요약
정확히 하나의 간선 길이가 두 배가 될 때 1번 정점에서 N번 정점까지의 최단 거리가 가장 크게 늘어나는 값을 구합니다.
난이도

보통10점 중 6점

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

문제

FJ는 매일 아침 일어나 집에서 헛간까지 농장을 가로질러 걸어간다. 농장은 밭 NN개(1≤N≤2501 \le N \le 250)로 이루어져 있고, 밭 사이는 길이가 정해진 양방향 길 MM개(1≤M≤25,0001 \le M \le 25{,}000)로 이어져 있다. FJ의 집은 1번 밭에 있고, 헛간은 NN번 밭에 있다. 같은 두 밭을 잇는 길이 두 개 이상 놓인 경우는 없고, 어느 두 밭 사이든 길을 따라 오갈 수 있다. FJ는 한 밭에서 다른 밭으로 갈 때 언제나 길이의 합이 가장 작은 경로를 고른다.

소들은 늘 그렇듯 장난을 칠 생각으로 FJ의 아침 일과를 방해하기로 했다. 농장의 길 MM개 중 정확히 하나를 골라 그 위에 건초 더미를 쌓아서 그 길의 길이를 두 배로 만들 계획이다. 소들은 집에서 헛간까지 FJ가 걷는 최단 거리가 가장 많이 늘어나도록 막을 길을 고른다. 소들이 FJ의 경로를 얼마나 늘릴 수 있는지 구하라.

입력

  • 첫째 줄에 정수 NN과 MM이 공백을 사이에 두고 주어진다.
  • 둘째 줄부터 1+M1+M번째 줄까지, j+1j+1번째 줄에는 jj번 양방향 길을 나타내는 세 정수 AjA_j, BjB_j, LjL_j가 공백을 사이에 두고 주어진다. AjA_j와 BjB_j는 그 길이 잇는 두 밭의 번호로 11 이상 NN 이하이고, LjL_j는 그 길의 길이로 11 이상 1,000,0001{,}000{,}000 이하이다.

출력

  • 길 하나의 길이를 두 배로 늘려서 만들 수 있는 FJ의 최단 경로 길이의 최대 증가량을 첫째 줄에 출력한다.

예제1

  1. 예제 1

    입력
    5 7
    2 1 5
    1 3 1
    3 2 8
    3 5 7
    3 4 3
    2 4 7
    4 5 2
    
    예상 출력
    2