| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 5 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 147 | 11 | 8 | 10.811% |
$N$개의 연구소와, 이를 잇는 경로들이 존재한다. 각 연구소마다 그 연구소의 연구 내용이 얼마나 중요한지를 나타내는 척도인 중요도가 주어진다. $i$번 연구소의 중요도는 $A_i$이다.
하나의 경로는 서로 다른 2ドル$개의 연구소를 이으며, 경로마다 보안 레벨이 존재한다. 연구원의 보안 레벨이 경로의 보안 레벨 이상일 경우, 연구원은 통로를 이용할 수 있다.
연구소에서 정보가 유출될 가능성에 대비하여 시뮬레이션을 진행하였다. 보안 레벨 $c$인 연구원이 $i$번 연구소에 잠입하여 그 연구소에서 도달 가능한 모든 연구소의 중요도를 전부 더한 값을 $f(c, i)$이라 하자. 보안 레벨 $c$에 대하여, 위험도를 $g(c) = \max\left\{f(c, 1), f(c, 2), \cdots, f(c, N)\right\}$이라고 정의하자. 이 시뮬레이션의 목표는, 정보 유출자가 모은 정보의 중요도의 합이 보안 한계점 $D$ 이상이기 위한 정보 유출자의 최소 보안 레벨을 구하는 것이다. 즉, $g(c) \geq D$를 만족하는 최소 $c$를 구하는 것이다.
또한, 연구에 진전이 있어 연구의 중요도가 증가하거나, 새로운 경로가 만들어지거나, 보안에 더욱 엄격해져 보안 한계점이 감소할 수 있다. 이러한 변화가 일어난 이후, $g(c) \geq D$를 만족하는 최소 $c$를 구하고자 한다.
즉, 아래의 쿼리를 해결하면 된다.
첫 번째 줄에 연구소의 개수 $N$과 경로의 개수 $M,ドル 초기 보안 한계점 $D$이 공백으로 구분되어 주어진다.
두 번째 줄에 $N$개의 정수 $A_1, A_2, \cdots, A_N$이 차례대로 공백으로 구분되어 주어진다. $A_i$는 $i$번 연구소의 중요도이다.
세 번째 줄부터 $M$개의 줄에 걸쳐 $i$번째 경로를 나타내는 세 정수 $s_i,ドル $e_i,ドル $l_i$가 공백으로 구분되어 주어진다. 이는 $i$번째 경로가 $s_i$번 연구소와 $e_i$번 연구소를 연결하는 보안 레벨 $l_i$의 간선이라는 뜻이다.
$M+3$번째 줄에 쿼리의 개수 $Q$가 주어진다.
이후 $Q$개의 줄에 쿼리가 한 줄에 하나씩 주어진다.
2번 쿼리에서 중요도는 감소하지 않으며, 3번 쿼리에서 보안 한계점은 증가하지 않음이 보장된다.
4번 쿼리의 결과를 쿼리의 입력 순서대로 한 줄에 한 개씩 출력한다. 모든 $c$에 대해 이를 만족할 경우 $-1$을, 모든 $c$에 대해 이를 만족하지 않을 경우 $-2$를 출력한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 4 | $N \le 2,000円,ドル $M \le 4,000円,ドル $Q \le 4,000円,ドル 초기 경로 및 쿼리로 인해 추가되는 경로의 보안 레벨은 5ドル,000円$보다 작음 |
| 2 | 7 | $N \le 2,000円,ドル $M \le 4,000円,ドル $Q \le 4,000円$ |
| 3 | 9 | 1ドル$번 쿼리로 경로가 추가될 때, 추가되는 경로의 보안 레벨은 현재 존재하는 모든 경로의 보안 레벨 이상임. |
| 4 | 29 | 1ドル$번 쿼리로 경로가 추가될 때, 추가되는 경로의 보안 레벨은 현재 존재하는 모든 경로의 보안 레벨 이하임. |
| 5 | 51 | 추가 제약 조건 없음. |
5 3 10 1 1 1 1 1 1 2 5 2 3 4 4 5 2 8 2 1 8 4 2 2 9 4 1 1 4 2 4 3 9 4
5 4 2 -1
Contest > LG Collegiate Programming Contest > LGCPC 2024 예선 D번