| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 168 | 57 | 53 | 37.324% |
짐은 불멸의 존재이니라!
거대한 성의 모습을 가진 매우 강력한 괴물, 헤카톤과의 전투는 기나긴 전쟁으로 바뀌고 있는 참이다. 막대한 위력 앞에 서 있는 용사들은 이 거대한 적에 맞서기 위해 모든 힘을 쏟아붓고 있다.
월드 레이드 파티의 조사 끝에 헤카톤은 총 $N$곳의 약점을 가지고 있음이 밝혀졌다. 이 약점들은 각자 독립된 체력을 갖고 있으며, 각각에 충분히 많은 데미지를 주고 모든 약점의 체력을 $0$으로 만들어야만 헤카톤을 쓰러뜨릴 수 있다. 지금 $i$번째 약점에서는 $A_i$명의 용사들이 헤카톤을 공격하고 있다.
그러나 헤카톤을 공격하고 있던 싶프트는 이상한 상황을 발견했다. 많은 용사들이 체력이 이미 많이 소진된 약점에 집중되어 있었고, 오히려 체력이 아직 꽤 남아 있는 약점에는 공격하는 용사가 거의 없는 상황이었던 것이다.
싶프트는 전투가 끝없이 이어진다면 용사들이 체력과 의지를 모두 잃게 될 것으로 우려했다. 그래서 그녀는 체력이 많이 남은 약점들에 집중적으로 용사를 배치하여 공격을 가하는 전략을 생각했다. 하지만 헤카톤의 압도적인 거대함 때문에 약점들 사이의 거리는 상당하다. 따라서 용사들을 재배치하더라도 그들이 현재 위치에서 이동하기 용이한 약점들로만 이동시키는 것이 효율적이라는 결론을 내렸다.
이제 싶프트는 이동하기 용이한 약점들의 쌍과 집중 공격이 필요한 약점들이 주어졌을 때 용사들을 적절히 재배치하여 각 약점에 최소 몇 명의 용사들이 있도록 할 수 있는지 알고 싶다. 헤카톤과의 전투에서 승리하기 위해, 그녀의 전략이 실행될 수 있을지 빠르게 판단하는 프로그램을 작성하자.
첫 번째 줄에는 헤카톤의 약점의 개수 $N$와 이동하기 용이한 약점의 쌍의 개수 $M$이 공백으로 구분되어 주어진다. $(2 \le N \le 100;$ $1 \le M \le 1\,000)$
다음 줄에는 지금 헤카톤의 약점을 공격하고 있는 용사의 수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다. $(0 \le A_i \le 100\,000)$
다음 $M$개의 각 줄에 정수 $u_i, v_i$가 공백으로 구분되어 주어진다. $(1 \le u_i,v_i \le N;$ $u_i \ne v_i)$ 이는 $u_i$번째 약점과 $v_i$번째 약점 사이가 이동하기 용이하다는 것을 의미한다. 다만, 이는 $u_i$번째 약점으로부터 이동하기 용이한 약점들이 $v_i$번째 약점으로부터도 이동하기 용이한 것임을 의미하는 것은 아니며, 반대의 경우도 그러함에 주의하라. 하나의 약점 쌍에 대해 이 정보는 중복되어 주어지지 않는다.
다음 줄에는 집중 공격이 필요한 약점의 개수 $R$이 주어진다. $(1 \le R \le N)$
다음 줄에는 집중 공격이 필요한 약점 번호 $B_1, B_2, \cdots, B_R$이 공백으로 구분되어 주어진다. 같은 약점 번호가 두 번 이상 주어지는 경우는 없다. $(1 \le B_i \le N)$
용사들을 적절히 재배치했을 때 각 약점에 최소 몇 명의 용사들이 있도록 할 수 있는지 출력한다.
5 4 2 3 4 1 0 1 3 2 3 3 4 3 5 2 3 5
4
$3$번과 $5$번 약점에 지원이 필요한 상황이다.
이렇게 재배치했을 때, $3$번 약점과 $5$번 약점에서는 각각 최소 $4$명씩의 용사가 공격하게 된다. 각각의 약점에 최소 $5$명 이상씩을 배치하는 방법은 없으므로, 이 경우가 최적이다.
4 3 10 0 0 0 1 2 2 3 3 4 1 4
0
$1$번 약점에서 공격하던 용사들이 $4$번 약점까지 이동하기에는 $1$번 약점과 $4$번 약점은 너무 멀리 떨어져 있다.
Contest > BOJ User Contest > 임스의 메이플컵 > 제1회 임스의 메이플컵 (The 1st lms0806's Maple Cup) G번