Logo
(追記) (追記ここまで)

30749번 - Дома в Берляндии 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB63350.000%

문제

Как известно, в столице Берляндии есть $n$ перекрёстков. На некоторых их этих перекрёстков находятся жилые дома. Пусть $a_i$ --- это количество человек в семье, проживающей в доме, который находится на перекрёстке $i$ для всех 1ドル \leq i \leq n$. Если $a_i$ равно нулю, будем считать, что на этом $i$-м перекрёстке нет жилого дома.

Некоторые перекрёстки соединены дорогами. Всего в Берляндии $m$ дорог. По каждой дороге можно ходить в любом направлении. Каждая дорога соединяет два различных перекрёстка. Любые два перекрёстка соединены не более чем одной дорогой. От любого перекрёстка можно добраться по дорогам города до любого другого перекрёстка. Назовём расстоянием между перекрёстками $i$ и $j$ минимальное количество дорог, по которым нужно пройти, чтобы добраться от перекрёстка $i$ до перекрёстка $j$.

Когда одна семья ходит в гости к другой семье, каждый человек находит себе ровно одного собеседника из другой семьи, и они вдвоем разговаривают между собой. Двум семьям общаться скучно, если какой-то человек останется без собеседника.

По какой-то непонятной причине правительство Берляндии попросило вас найти два ближайших жилых дома $v$ и $u,ドル таких что если семья из дома $v$ придёт в гости к семье из дома $u,ドル то им будет скучно общаться, то есть $a_v > 0,ドル $a_u > 0,ドル $a_v \ne a_u$ и расстояние от $v$ до $u$ минимально. Гарантируется, что существуют два жилых дома с различным количеством жильцов.

입력

В первой строке входных данных заданы числа $n$ и $m$ (2ドル \leq n \leq 1,000円,000,円 1 \leq m \leq 1,000円,000円$) --- количество перекрёстков в столице Берляндии и количество двунаправленных дорог соответственно.

Во второй строке входных данных заданы $n$ чисел (0ドル \leq a_i \leq 10^9$), где $a_i$ равно 0ドル,ドル если на $i$-м перекрёстке нет жилого дома, или $a_i$ равно количеству человек в семье, проживающей в доме, который находится на $i$-м перекрёстке.

В следующих $m$ строках заданы дороги. В $i$-й из этих строк заданы два числа $v_i$ и $u_i$ (1ドル \leq v_i, u_i \leq n, v_i \ne u_i$) --- номера перекрёстков, соединённых соответствующей дорогой.

출력

В единственной строке выведите одно целое число --- минимальное расстояние между двумя жилыми домами с различным количеством жильцов.

제한

예제 입력 1

4 4
1 0 2 0
1 2
2 3
3 4
4 1

예제 출력 1

2

예제 입력 2

5 4
1 0 2 1 0
1 5
4 5
5 2
2 3

예제 출력 2

3

노트

В первом примере населены только два дома --- у перекрёстков 1ドル$ и 3ドル$ и количество жильцов в них разное. Расстояние между домами равно 2ドル,ドル кратчайший путь использует дороги 1ドル$ и 2ドル$.

출처

Olympiad > Moscow Open Olympiad in Informatics > Moscow Open Olympiad in Informatics Long Qualification 2016-17 C번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /