만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

쿠루쿠루 스시

시간 제한5초메모리 제한512 MB

요약
원형 컨베이어의 각 구간 방향을 정해 q개의 운송이 모두 가능하게 하고, 최소 총 비용을 출력하거나 불가능하면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
그래프, 세그먼트 트리, 최단 경로
정답자
아직 제출이 없습니다

문제

제퍼는 쿠루쿠루 스시 식당의 주인이다. 이 식당들에서는 스시를 회전하는 원형 벨트 컨베이어에 올려 손님에게 전달한다.

제퍼는 0번부터 n−1n-1번까지 번호가 매겨진 nn개의 식당을 소유한다. 식당은 원의 둘레 위에 놓여 있고, 인접한 식당 사이에는 땅 밑으로 큰 벨트 컨베이어가 설치되어 있다. 어느 날 일부 식당에서 스시 재료가 부족해져서, 제퍼는 이 컨베이어로 식당끼리 재료를 옮기기로 했다.

ii번째(0≤i≤n−20 \leq i \leq n-2) 컨베이어는 식당 ii와 i+1i+1을 잇는다. (n−1)(n-1)번째 컨베이어는 식당 n−1n-1과 00을 잇는다. ii번째 컨베이어의 길이는 wiw_i이다. 제퍼는 qq개의 음식을 옮기려 하며, ii번째 음식은 식당 sis_i에서 tit_i로 옮겨진다.

각 컨베이어는 한 방향으로만 음식을 옮길 수 있고, 그 방향은 제퍼가 정할 수 있다. 모든 qq개의 음식을 옮기는 동안에는 방향을 바꿀 수 없다. ii번째 음식의 운송 비용은 sis_i에서 tit_i까지 최단 경로에 있는 컨베이어 길이의 합이다. 제퍼는 모든 음식을 운반할 수 있도록 각 컨베이어의 방향을 정해야 한다. 모든 음식의 운송 비용 합의 최솟값을 구하라.

입력

첫째 줄에 두 정수 nn과 qq가 주어진다. nn(3≤n≤1053 \leq n \leq 10^5)은 식당의 수이고, qq(1≤q≤1051 \leq q \leq 10^5)는 음식의 수이다. 둘째 줄에는 nn개의 정수 wiw_i(1≤wi≤1051 \leq w_i \leq 10^5)가 주어진다. 이어지는 qq개의 줄에는 두 정수 sis_i와 tit_i(0≤si,ti≤n−10 \leq s_i, t_i \leq n-1)가 주어진다. 모든 ii에 대해 si≠tis_i \neq t_i이며, i≠ji \neq j이면 si≠sjs_i \neq s_j 또는 ti≠tjt_i \neq t_j이다.

$n$ $q$

$w_0$ $w_1$ ... $w_{n-1}$

$s_0$ $t_0$

...

$s_{q-1}$ $t_{q-1}$

출력

모든 음식을 목적지로 옮길 수 없으면 -1을 출력한다. 그렇지 않으면 음식 운송 비용 합의 최솟값을 출력한다.

예제2

  1. 예제 1

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

    입력
    5 3
    4 5 6 7 8
    0 1
    0 3
    4 2
    
    예상 출력
    32