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

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

발전소

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

요약
m개의 후보 도시 중 일부에 발전소를 짓고 n개의 순환 간선 중 일부를 끊어 모든 도시에 전력을 공급하는 최소 비용을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그래프, 최소 신장 트리, 그리디
정답자
아직 제출이 없습니다

문제

화산섬 플리랜드에는 제대로 된 전력망이 한 번도 없었다. 그러나 마침내 섬의 행정부가 섬의 발전소와 전력망을 건설하기로 합의했다.

섬의 해안에는 nn개의 도시가 있다. 행정부는 도시들을 조사하여 그중 mm곳을 발전소를 지을 수 있는 후보지로 제안했고, ii번째 제안은 c_ic\_i번 도시에 a_ia\_i의 비용으로 발전소를 지을 수 있다는 내용이다.

이 발전소는 매우 현대적이어서 발전소 하나로 섬 전체에 전력을 공급할 수 있지만, 화산 때문에 섬을 가로지르는 전선을 놓는 일은 위험하다. 1≤i<n1 \leq i < n인 ii에 대해 ii번 도시와 i+1i+1번 도시 사이에 b_ib\_i의 비용으로 전선을 놓을 수 있고, nn번 도시와 11번 도시 사이에는 b_nb\_n의 비용으로 전선을 놓을 수 있다. 어떤 도시에 발전소가 있거나, 전선으로 발전소가 있는 도시와 연결되어 있으면 그 도시는 전력을 공급받는다.

섬의 모든 도시에 전력을 공급하는 가장 저렴한 방법은 무엇인가?

입력

  • 첫 줄에 두 정수 nn (3≤n≤1053\leq n \leq 10^5)과 mm (1≤m≤n1\leq m \leq n)이 주어진다. 각각 도시의 수와 발전소를 지을 수 있는 후보지의 수이다.
  • 이어서 mm개의 줄이 주어지고, 그중 ii번째 줄에는 c_ic\_i (1≤c_i≤n1 \leq c\_i \leq n)와 a_ia\_i (1≤a_i≤1091 \leq a\_i \leq 10^9)가 주어진다. 각각 ii번째 발전소 후보지와 그 발전소를 짓는 비용이다.
  • 그다음 줄에는 nn개의 정수 b_ib\_i (1≤b_i≤1091 \leq b\_i \leq 10^9)가 주어진다. 전선을 놓는 비용이다.

c_1,…,nc\_{1,\ldots,n}의 값은 서로 다르며 엄격히 증가하는 순서로 주어진다.

출력

섬의 모든 도시에 전력을 공급하는 최소 비용을 출력한다.

예제2

  1. 예제 1

    입력
    3 2
    1 100
    2 200
    150 300 150
    
    예상 출력
    400
    
  2. 예제 2

    입력
    3 2
    1 100
    2 200
    300 300 150
    
    예상 출력
    450