알고리즘 {먼데이} 챌린지 시즌1
    • 01
      난이도 맛보기
    • [예시] [문제] 1. 단어장 만들기
      [예시] [해설] 1. 단어장 만들기
      [예시] [문제] 2. 카드 교환하기
      [예시] [해설] 2. 카드 교환하기
    • 02
      1주차 챌린지 수학과 구현
    • [1주차] [문제] 1. 경로의 개수
      [1주차] [해설] 1. 경로의 개수
      [1주차] [문제] 2. 동명이인
      [1주차] [해설] 2. 동명이인
      [1주차] [문제] 3. 최장 맨해튼 거리
      [1주차] [해설] 3. 최장 맨해튼 거리
      [1주차] [문제] 4. 소수 찾기
      [1주차] [해설] 4. 소수 찾기
    • 03
      2주차 챌린지 구현과 문자열
    • [2주차] [문제] 1. 합격자 찾기
      [2주차] [해설] 1. 합격자 찾기
      [2주차] [문제] 2. 문자열 나누기
      [2주차] [해설] 2. 문자열 나누기
      [2주차] [문제] 3. 출석부
      [2주차] [해설] 3. 출석부
      [2주차] [문제] 4. 폭탄 구현하기
      [2주차] [해설] 4. 폭탄 구현하기
    • 04
      3주차 챌린지 그래프 이론
    • [3주차] [문제] 1. 0커플
      [3주차] [해설] 1. 0커플
      [3주차] [문제] 2. 폴더 폰 자판
      [3주차] [해설] 2. 폴더 폰 자판
      [3주차] [문제] 3. 구름이의 여행
      [3주차] [해설] 3. 구름이의 여행
      [3주차] [문제] 4. 순환하는 수로
      [3주차] [해설] 4. 순환하는 수로
    • 05
      4주차 챌린지 동적프로그래밍
    • [4주차] [문제] 1. 체크 카드
      [4주차] [해설] 1. 체크 카드
      [4주차] [문제] 2. 단풍나무
      [4주차] [해설] 2. 단풍나무
      [4주차] [문제] 3. 거리두기
      [4주차] [해설] 3. 거리두기
      [4주차] [문제] 4. 주차 구역 나누기
      [4주차] [해설] 4. 주차 구역 나누기
    • 06
      5주차 챌린지 기출 변형 문제
    • [5주차] [문제] 1. 개미와 진딧물
      [5주차] [해설] 1. 개미와 진딧물
      [5주차] [문제] 2. 모래섬
      [5주차] [해설] 2. 모래섬
      [5주차] [문제] 3. 수 이어 붙이기
      [5주차] [해설] 3. 수 이어 붙이기
      [5주차] [문제] 4. 구슬 게임
      [5주차] [해설] 4. 구슬 게임
    • 07
      6주차 챌린지 기출 변형 문제
    • [6주차] [문제] 1. 7게임
      [6주차] [해설] 1. 7게임
      [6주차] [문제] 2. 제곱암호
      [6주차] [해설] 2. 제곱암호
      [6주차] [문제] 3. 비밀 편지
      [6주차] [해설] 3. 비밀 편지
      [6주차] [문제] 4. 경쟁 배타의 원리
      [6주차] [해설] 4. 경쟁 배타의 원리
    • 08
      7주차 챌린지 실전 모의고사
    • [7주차] [문제] 1. UXUI 디자이너
      [7주차] [해설] 1. UXUI 디자이너
      [7주차] [문제] 2. 퍼져나가는 소문
      [7주차] [해설] 2. 퍼져나가는 소문
      [7주차] [문제] 3. 구름이의 여행 2
      [7주차] [해설] 3. 구름이의 여행 2
      [7주차] [문제] 4. 이상한 미로
      [7주차] [해설] 4. 이상한 미로
    • 09
      8주차 챌린지 실전 모의고사
    • [8주차] [문제] 1. 구름 숫자
      [8주차] [해설] 1. 구름 숫자
      [8주차] [문제] 2. 뒤통수가 따가워
      [8주차] [해설] 2. 뒤통수가 따가워
      [8주차] [문제] 3. 직사각형 만들기
      [8주차] [해설] 3. 직사각형 만들기
      [8주차] [문제] 4. 구름나라 청소하기
      [8주차] [해설] 4. 구름나라 청소하기
    [예시] [문제] 2. 카드 교환하기
    배우기
    01 난이도 맛보기
    [예시] [문제] 2. 카드 교환하기


    실습 내용

    문제


    부터 까지의 번호를 가진 명의 사람이 있다. 각 사람들은 부터  사이의 임의의 수 가 쓰여있는 카드를 한 장씩 가지고 있다.

    사람들 간에는 총 쌍의 친구 관계가 있다. 모든 친구 관계는 양방향이라서, 번 사람과 번 사람이 친구라면 번 사람과 번 사람도 친구이다. 서로 친구 관계에 있는 두 사람끼리는 서로 들고 있는 카드를 원하는 만큼 교환할 수 있다.

    모든 사람들은 각자가 들고 있는 카드에 적힌 수가 자신의 번호와 최대한 비슷하기를 원한다. 어떤 한 사람의 불만족도를 그 사람이 들고 있는 카드에 적힌 수와 그 사람의 번호와의 차이로 정의하고, 전체 불만족도는 모든 사람의 불만족도의 합으로 정의한다.

    카드 교환이 적절하게 이루어졌을 때, 가능한 전체 불만족도의 최솟값을 구하라.


    입력


    첫째 줄에는 사람의 수 과 친구 관계의 수 이 공백을 두고 주어진다.
    둘째 줄에는 이 공백을 두고 주어진다. 는 번 사람이 처음에 들고 있는 카드에 적힌 수를 의미한다.
    다음 개의 줄에는  공백을 두고 주어진다. 이는 번 사람과 번 사람이 친구임을 의미한다. 모든 친구 관계는 양방향이고, 같은 친구 관계가 중복으로 주어지지 않는다. 

    • 입력에서 주어지는 모든 수는 정수이다.


    출력


    가능한 전체 불만족도의 최솟값을 출력한다.

    입/출력 예시
    :
    공백
    :
    줄바꿈
    :
    예시 1
    입력
    67
    344156
    13
    16
    36
    35
    15
    56
    12
    출력
    8
    예시 2
    입력
    54
    32154
    12
    23
    13
    45
    출력
    0
    ⋇ 입출력 형식을 잘 지켜주세요
    질문하기