만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

구매 후 삭제

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

요약
앨리스는 총 가격이 c 이하가 되도록 방향 간선을 사서, 밥이 모든 간선을 지우는 데 필요한 비순환 삭제 라운드 수를 최대화합니다.
난이도

어려움10점 중 8점

유형
그래프, 게임 이론, 조합론
정답자
아직 제출이 없습니다

문제

Alice와 Bob은 방향 그래프 GG에서 게임을 한다. GG에는 1,2,…,n1, 2, \dots, n번으로 번호가 붙은 nn개의 정점이 있다. 처음에 GG에는 간선이 없다.

Alice는 먼저 상점에서 방향 간선을 몇 개 사서 GG에 추가한다. 그 뒤 Bob이 GG에 간선이 남지 않을 때까지 간선을 삭제한다. 한 번의 삭제 라운드에서 Bob은 GG의 간선 부분집합 SS를 삭제할 수 있다. 이때 SS의 간선만 남긴 그래프가 사이클이 없어야 한다. Alice는 아무것도 사지 않을 수 있으며, 이 경우 삭제 라운드 수는 00이다.

상점에는 mm개의 간선이 있다. Alice가 가진 돈은 cc달러이므로, 산 간선들의 가격 합은 cc를 넘을 수 없다. Alice는 삭제 라운드 수를 최대화하려 하고, Bob은 이를 최소화하려 한다. 두 사람 모두 최적으로 행동한다. 삭제 라운드 수를 구하라.

입력

입력은 한 개의 테스트 케이스로만 주어진다.

첫째 줄에 정수 nn, mm, cc가 주어진다 (2≤n≤20002 \le n \le 2000, 1≤m≤50001 \le m \le 5000, 1≤c≤1091 \le c \le 10^9). 이어지는 mm개의 줄에는 정수 uiu_i, viv_i, pip_i가 주어진다 (1≤ui,vi≤n1 \le u_i, v_i \le n, ui≠viu_i \ne v_i, 1≤pi≤1000001 \le p_i \le 100000). ii번째 줄은 Alice가 pip_i달러를 내고 uiu_i에서 viv_i로 가는 간선을 살 수 있음을 나타낸다.

출력

삭제 라운드 수를 나타내는 정수 하나를 출력한다.

예제2

  1. 예제 1

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

    입력
    3 3 3
    1 2 1
    2 3 1
    1 3 1
    
    예상 출력
    1