| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1.5 초 | 512 MB | 587 | 217 | 181 | 37.397% |
가희는 도시 시뮬레이션 게임을 하고 있습니다. 이 게임은 나의 도시와 다른 도시들을 연합하여, 나의 도시를 키우는 게임입니다. 가희의 도시에 사는 사람들은 철도만 이용하여 이동합니다. 건설된 철도 노선들을 적절히 이용하여 가희의 도시에서 도시 $a$로 이동하지 못하면, 사람들은 도시 $a$와 교류를 하지 못하게 되고, 가희의 도시는 도시 $a$와 연합할 수 없습니다.
가희는 월드에 있는 도시 $n-1$개와 가희의 도시를 연합하여 세력을 확장하려고 합니다. 이 게임은 철도 노선 $Q$개를 구매할 수 있습니다. 가희는 이 철도 노선들을 적절하게 구매하여 총 건설 비용을 최소로 하려고 합니다. 그러면서 가희의 도시와 $n-1$개의 도시들을 빠르게 연합하려고 합니다. 가희가 건설할 수 있는 철도 노선들에 대한 정보가 주어졌을 때, 총 건설 비용과 언제 $n-1$개의 도시들과 가희의 도시가 연합하는지 구해주세요. 목표를 달성하는 것이 불가능하다면 첫 줄에 -1을 출력해 주세요.
첫 번째 줄에 $n$과 $Q$가 공백으로 구분되어 주어집니다. 월드에 $1$번 도시부터 $n$번 도시까지 있음을 의미하며, 가희의 도시는 $1$번 도시입니다. 또한 건설할 수 있는 노선은 $Q$개가 있음을 의미합니다.
다음 $Q$개의 줄에 건설할 수 있는 철도 노선의 정보가 아래와 같이 주어집니다.
$from\ to\ cost\ time$
이는 월드에 있는 두 도시, $from$번 도시에서 $to$번 도시를 경유하는 도시 없이, 양방향으로 연결하는 철도를 비용 $cost$를 들여 시각 $time$에 지을 수 있음을 의미합니다. $\left( 1 \le from \le n,1 \le to \le n, from \ne to \right)$ 철도 노선들은 구매하는 즉시 지어지며, 같은 시각에 여러 철도 노선을 건설할 수 있습니다.
가희의 도시와 $n-1$개의 도시가 연합을 하는 시점과 총 건설 비용을 공백으로 구분하여 출력해 주세요. 만약, $n-1$개의 도시와 가희의 도시가 연합할 수 없다면, 첫 줄에 -1을 출력해 주세요.
4 5 1 4 1 5 2 3 1 1000000000 1 4 1 13 3 2 1 117 2 4 1 10
117 3

[그림 1] 왼쪽 위부터 시계 방향으로 1, 2, 4, 3
$3$개의 도시와 연합하기 위해서, 아래와 같이 철도 노선을 건설하면 됩니다.
이 때, 시각 $117$에 총 건설 비용 $3$을 들여, $3$개의 도시와 연합할 수 있습니다. 시각 $117$에 건설하지 않고, 시각 $1\,000\,000\,000$에 도시 $2$와 $3$을 연결하는 철도 노선을 건설하는 경우 총 건설 비용은 $3$입니다. 하지만 시각 $117$에 같은 비용을 들여 목표를 달성하는 방법이 있으므로 답이 아닙니다.
2 2 1 2 5 1 2 1 3 2
2 3
시각 $1$에 도시 $1$과 $2$를 잇는 철도를 비용 $5$를 들여서 지을 수 있습니다. 또한, 시각 $2$에 도시 $2$와 $1$을 잇는 철도를 비용 $3$을 들여서 지을 수 있습니다. 시각 $1$에 도시 $1$과 $2$를 잇는 철도를 건설하여, $1$개의 도시와 연합할 수 있습니다. 하지만, 총 건설 비용이 최소가 아니므로 답이 되지 않습니다. 시각 $2$에 $3$의 비용을 들여서 건설하는 것이 답이 됩니다.
5 1 1 4 5 7
-1

[그림 2] 예제 3번의 상황
$5$개의 도시가 있습니다. 시각 $7$에 도시 $1$에서 $4$를 연결하는 철도 노선을 비용 $5$를 들여 건설할 수 있습니다. (그림 2의 오른쪽) 그 이후에 건설할 수 있는 철도 노선이 없습니다. 따라서 도시 $1$은 도시 $2$, $3$, $5$와 연합을 하지 못하게 됩니다. 따라서 -1을 출력합니다.
Contest > BOJ User Contest > 가희와 함께 하는 코딩 테스트 > 가희와 함께 하는 6회 코딩 테스트 G번