QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100

#3702. 파티

Statistics

$n$마리의 개구리가 다과회에 초대되었다. 편의상 개구리에는 $1, 2, \dots, n$의 번호가 붙어 있다.

다과회에서는 홍차와 녹차를 제공한다. 개구리마다 선호하는 차가 있다. 홍차만 마시거나, 녹차만 마시거나, 둘 다 마실 수 있다.

서로 싫어하는 개구리 쌍이 $m$개 있다. 이들에게 같은 종류의 차를 제공하면 싸운다.

다행히 개구리를 $2$개의 그룹으로 나누어 같은 그룹의 어떤 두 개구리도 서로 싫어하지 않도록 할 수 있다.

개구리는 보석을 좋아한다. $i$번째 개구리에게 차 대신 $w_i$개의 보석을 지급하면, 그 개구리는 더 이상 다른 개구리와 싸우지 않는다.

파티 관리자는 싸움이 일어나지 않도록 차를 제공하거나 보석을 지급하는 방법을 정해야 하며, 지급하는 보석의 총개수를 최소화해야 한다.

입력

입력은 여러 테스트로 구성된다. 각 테스트에 대해:

첫 번째 줄에는 $2$개의 정수 $n, m$이 주어진다 ($1 \leq n \leq 10^3, 0 \leq m \leq 10^4$). 두 번째 줄에는 $n$개의 정수 $w_1, w_2, \dots, w_n$이 주어진다. ($1 \leq w_i \leq 10^6$).

세 번째 줄에는 $n$개의 정수 $p_1, p_2, \dots, p_n$이 주어진다. ($1 \leq p_i \leq 3$). $p_i = 1$이면 $i$번째 개구리는 홍차만 마신다. $p_i = 2$이면 녹차만 마시며, $p_i = 3$이면 둘 다 마실 수 있다.

다음 $m$개의 줄에는 각각 $2$개의 정수 $a_i, b_i$가 주어지며, 개구리 $a_i$와 $b_i$가 서로 싫어한다는 뜻이다. ($1 \leq a_i, b_i \leq n$)

출력

각 테스트에 대해 지급해야 하는 보석의 최소 총개수를 나타내는 정수 $1$개를 출력한다.

예제

입력 1

2 1
1 1
3 3
1 2
2 1
1 1
2 2
1 2
3 2
2 1 2
1 3 2
1 2
2 3

출력 1

0
1
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.