만드는 중입니다

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

거센 강

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

요약
각 널빤지를 한 번만 건널 수 있을 때 P명 모두를 강 건너편으로 보내는 최소 시간을 구하고, 건너지 못하는 최소 인원을 구합니다.
난이도

보통10점 중 6점

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

문제

샐리와 친구들이 거센 강의 한쪽 강둑에서 반대편 강둑까지 안전하게 건너려 합니다. 강에는 바위들이 흩어져 있습니다. 통나무 널빤지가 강둑과 일부 바위를, 그리고 일부 바위끼리를 잇습니다.

샐리가 가장 먼저 강을 건넙니다. 그녀는 왼쪽 강둑에서 출발해 널빤지를 한 번에 하나씩 건너며 오른쪽 강둑에 닿으려 합니다. 널빤지 하나를 건너는 데 1초가 걸립니다. 샐리가 널빤지를 건널 때마다 그 널빤지는 무너져 강에 빠지므로, 샐리도 친구들도 그 널빤지를 다시 쓸 수 없습니다. 샐리가 무사히 오른쪽 강둑에 닿으면 다른 친구가 건너려 하고, 이런 식으로 건널 수 있는 사람이 모두 건널 때까지 계속됩니다.

강둑, 바위, 널빤지의 그래프와 건너야 할 사람 수가 주어질 때, 모두가 안전하게 건너는 데 걸리는 최소 총 시간(초)을 구하세요. 모두가 건널 수 없다면, 왼쪽 강둑에 남아야 하는 사람 수의 최소값 nn을 구하세요.

입력

첫 줄에 정수 PP, RR, LL이 주어집니다. PP는 건너야 하는 사람 수, RR은 강에 있는 바위 수, LL은 바위와 강둑을 잇는 통나무 수입니다. 이 값들은 1≤P≤101 \leq P \leq 10, 0≤R≤10000 \leq R \leq 1000, 0≤L≤10000 \leq L \leq 1000을 만족합니다.

이어서 LL개의 줄이 주어지며, 각 줄에는 통나무 한 개의 양 끝점 E1E_1과 E2E_2를 나타내는 정수 두 개가 들어 있습니다. 각 값은 [−2,R−1][-2, R-1] 범위에 있습니다. −2-2는 왼쪽 강둑, −1-1은 오른쪽 강둑이고, 그 밖의 값은 바위 번호입니다.

모든 통나무의 두 끝점은 서로 다르고, 같은 바위나 강둑 쌍을 잇는 통나무는 두 개 이상 없습니다. 오른쪽 강둑이나 일부 바위는 왼쪽 강둑에서 도달할 수 없을 수도 있습니다.

출력

PP명 모두 오른쪽 강둑에 닿을 수 있으면, 모두가 건너는 데 걸리는 최소 총 시간(초)을 정수 하나로 출력합니다.

그렇지 않으면 n people left behind를 출력합니다. 여기서 nn은 왼쪽 강둑에 남아야 하는 사람 수의 최소값입니다.

예제2

  1. 예제 1

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

    입력
    3 2 5
    -2 0
    -2 1
    0 1
    1 -1
    0 -1
    
    예상 출력
    1 people left behind