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

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

특수 능력 2

시간 제한2초메모리 제한512 MB

요약
가중치가 있는 유향 그래프에서 1번 정점에서 N번 정점으로 가는 경로 중, 최대 C번의 간선 가중치 부호 반전을 사용해 얻을 수 있는 최소 비용을 구한다.
난이도

어려움10점 중 8점

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

문제

NN개의 정점과 MM개의 간선으로 이루어진 방향 그래프가 있다. 정점에는 1번부터 NN번까지 번호가 붙어 있고, 각 간선에는 0 이상의 정수 가중치가 있다. 두 정점 사이에 간선이 여러 개 있을 수도 있고, 시작점과 도착점이 같은 간선이 있을 수도 있다.

성원이는 지금 1번 정점에 있다. 간선을 따라 다른 정점으로 이동하며, 간선 하나를 지나는 비용은 그 간선의 가중치다.

성원이에게는 특수 능력이 있다. 간선을 지날 때 이 능력을 쓰면 그 간선의 가중치에 -1을 곱한 값이 그 번의 비용이 된다. 능력은 최대 CC번 쓸 수 있고, 한 번 쓸 때 간선 하나를 지나는 데만 적용된다. 같은 간선을 여러 번 지나도 되고, 지날 때마다 능력을 다시 쓸 수 있다. 능력을 쓸 횟수가 남은 채로 NN번 정점에 도착해도 된다.

성원이가 1번 정점에서 출발해 NN번 정점에 도착하는 최소 비용을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정점의 개수 NN, 간선의 개수 MM, 특수 능력을 쓸 수 있는 횟수 CC가 주어진다. (1≤N≤501 \le N \le 50, 1≤M≤25001 \le M \le 2500, 0≤C≤1090 \le C \le 10^9)

둘째 줄부터 MM개의 줄에 간선 하나의 정보 from\text{from}, to\text{to}, cost\text{cost}가 주어진다. (1≤from≤N1 \le \text{from} \le N, 1≤to≤N1 \le \text{to} \le N, 0≤cost≤1000000 \le \text{cost} \le 100000) from\text{from}은 간선의 시작점, to\text{to}는 간선의 도착점이고, 이 간선은 from\text{from}에서 to\text{to} 방향으로만 지날 수 있다.

1번 정점에서 NN번 정점으로 갈 수 있는 그래프만 입력으로 주어진다.

출력

첫째 줄에 성원이가 1번 정점에서 NN번 정점까지 이동하는 최소 비용을 출력한다.

예제4

  1. 예제 1

    입력
    3 6 1
    1 2 1
    1 3 5
    2 1 1
    2 3 10
    3 1 1
    3 2 1
    
    예상 출력
    -9
    
  2. 예제 2

    입력
    1 1 100000
    1 1 100
    
    예상 출력
    -10000000
    
  3. 예제 3

    입력
    2 3 2
    1 2 6
    1 2 1
    2 1 4
    
    예상 출력
    -9
    
  4. 예제 4

    입력
    2 1 1000000000
    1 2 1000
    
    예상 출력
    -1000