아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

철도 연결

시간 제한1초메모리 제한1024 MB

요약
도시별 승객 흐름과 이미 지어진 철도가 주어질 때, 두 도시를 잇는 비용이 두 흐름의 곱인 완전 연결의 최소 비용을 구한다.
난이도

보통10점 중 5점

유형
최소 신장 트리, 유니온 파인드, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

비트란디아에서 철도 인프라를 재정비하고 있습니다. 이 작업은 비트란디아 철도 회사의 책임자 마르티나스에게 맡겨졌습니다.

먼저 마르티나스는 각 도시 ii로 들어오는 승객 유입량 SiS_i를 산정했습니다. 마르티나스는 다음 조건을 만족하도록 도시들 사이에 철도 노선을 설계합니다.

  • 비트란디아의 어떤 도시에서 출발하더라도 철도를 이용해 다른 모든 도시로 이동할 수 있어야 합니다(반드시 직접 연결될 필요는 없습니다).
  • 도시 ii와 jj 사이에 철도 노선 하나를 놓는 비용은 Si×SjS_i \times S_j 비테우로입니다. 유입량이 클수록 더 큰 역과 더 넓은 주차장 등 더 많은 투자가 필요하기 때문입니다.

비트란디아에는 이미 일부 철도가 놓여 있지만, 예산이 줄어든 마르티나스는 남은 노선을 최소 비용으로 놓으려 합니다.

마르티나스가 제시한 조건을 모두 만족하도록 남은 철도 노선을 놓는 데 드는 최소 비용을 구하세요.

입력

첫째 줄에 공백으로 구분된 두 정수 NN과 MM이 주어집니다. 각각 비트란디아의 도시 수와 이미 놓인 철도 노선 수입니다.

둘째 줄에 공백으로 구분된 NN개의 정수 SiS_i가 주어집니다.

이어지는 MM개의 줄에는 각각 두 정수 viv_i와 uiu_i가 주어지며, 도시 viv_i와 uiu_i 사이에 이미 직접 연결된 철도 노선이 있음을 의미합니다.

출력

남은 철도 노선을 모두 놓는 데 드는 최소 비용(비테우로)을 출력하세요.

제한

  • 1≤N≤1000001 \le N \le 100000
  • 0≤M≤1000000 \le M \le 100000
  • 1≤Si≤1001 \le S_i \le 100
  • 1≤vi,ui≤N1 \le v_i, u_i \le N
  • 모든 순서쌍 (vi,ui)(v_i, u_i)는 서로 다르며 vi≠uiv_i \ne u_i입니다.

예제2

  1. 예제 1

    입력
    4 2
    2 2 3 5
    3 4
    1 2
    
    예상 출력
    6
    
  2. 예제 2

    입력
    3 3
    100 100 100
    1 2
    2 3
    3 1
    
    예상 출력
    0