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

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

서버

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

요약
가중치가 있는 연결 그래프의 각 서버에서, 더 가깝거나 같은 거리에 있으면서 순위가 더 높은 서버가 없는 정점 W를 세어 모두 더한다.
난이도

어려움10점 중 9점

유형
그래프, 최단 경로, 그리디, 수학
정답자
아직 제출이 없습니다

문제

바이트랜드 왕국은 여러 가지 서비스를 제공하는 대규모 서버 컴퓨터 네트워크를 구축하기로 했습니다.

이 네트워크는 nn개의 서버가 양방향 케이블로 연결되어 이루어집니다. 두 서버는 최대 하나의 케이블로만 직접 연결될 수 있고, 각 서버는 최대 1010개의 다른 서버와 직접 연결됩니다. 또한 임의의 두 서버는 네트워크 상의 어떤 경로로든 서로 연결되어 있습니다(즉, 연결 그래프입니다). 각 케이블에는 밀리초 단위의 양의 데이터 전송 시간이 정해져 있습니다.

두 서버 VV와 WW 사이의 거리 d(V,W)d(V, W)는 두 서버를 잇는 경로 중 전송 시간의 합이 가장 작은(최단) 경로의 길이(밀리초)로 정의합니다. 편의상 모든 VV에 대해 d(V,V)=0d(V, V) = 0으로 둡니다.

각 서버 VV에는 자연수 r(V)r(V)가 매겨져 있으며, 이를 등급(rank)이라고 합니다. 등급이 높을수록 더 강력한 서버입니다.

각 서버는 주변 서버들에 대한 정보를 저장해야 하지만, 모든 서버가 저장 대상은 아닙니다. 멀리 있으면서 등급이 낮은 서버의 정보는 저장할 필요가 없습니다. 정확히 말하면, 서버 WW가 서버 VV에게 흥미로운(interesting) 서버라는 것은 d(V,U)≤d(V,W)d(V, U) \le d(V, W)를 만족하는 모든 서버 UU에 대해 r(U)≤r(W)r(U) \le r(W)가 성립하는 것을 뜻합니다.

예를 들어, 최대 등급을 가진 서버는 모든 서버에게 흥미롭습니다. 만약 서버 VV가 최대 등급이라면, VV에게 흥미로운 서버는 정확히 최대 등급을 가진 서버들뿐입니다. B(V)B(V)를 서버 VV에게 흥미로운 서버들의 집합이라고 합시다.

네트워크 전체에서 저장해야 하는 서버 정보의 총량, 즉 모든 집합 B(V)B(V)의 크기의 합 ∑V∣B(V)∣\sum_V |B(V)|을 구하려고 합니다. 바이트랜드 왕국은 이 값이 30n30n을 넘지 않도록 네트워크를 구성했습니다.

표준 입력으로 서버 네트워크의 정보를 읽어, 저장해야 하는 서버 정보의 총량을 계산한 뒤 표준 출력으로 출력하는 프로그램을 작성하세요.

입력

첫째 줄에 두 자연수 nn, mm이 공백 하나로 구분되어 주어집니다. nn은 네트워크의 서버 수(1≤n≤300001 \le n \le 30000), mm은 케이블의 수(1≤m≤5n1 \le m \le 5n)입니다.

다음 nn개의 줄에는 각 서버의 등급이 주어집니다. ii번째 줄에는 정수 rir_i(1≤ri≤101 \le r_i \le 10), 즉 ii번 서버의 등급이 하나씩 주어집니다.

그다음 mm개의 줄에는 케이블의 정보가 주어집니다. 각 케이블은 세 정수 aa, bb, tt(1≤a,b≤n1 \le a, b \le n, a≠ba \ne b, 11≤t≤100011 \le t \le 1000)로 표현되며, aa와 bb는 케이블이 연결하는 두 서버의 번호, tt는 그 케이블의 전송 시간(밀리초)입니다.

출력

네트워크에서 저장해야 하는 서버 정보의 총량과 같은 정수 하나를 출력합니다.

힌트

등급이 각각 2,3,1,12, 3, 1, 1인 네 서버로 이루어진 네트워크에서는 B(1)={1,2}B(1) = \{1, 2\}, B(2)={2}B(2) = \{2\}, B(3)={2,3}B(3) = \{2, 3\}, B(4)={1,2,3,4}B(4) = \{1, 2, 3, 4\}이므로 저장해야 하는 정보의 총량은 99입니다.

예제3

  1. 예제 1

    입력
    4 3
    2
    3
    1
    1
    1 4 30
    2 3 20
    3 4 20
    
    예상 출력
    9
    
  2. 예제 2

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

    입력
    2 1
    3
    7
    1 2 50
    
    예상 출력
    3