교차하는 케이블

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

요약
직선 위 n개의 고정된 포트에 m개의 배선을 연결할 수 있는지 판단합니다. 길이가 각각 주어지고 포트는 중복 사용할 수 있지만 같은 두 포트를 두 번 직접 연결할 수 없습니다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

당신은 BAPC(Bizarrely Awful Parties Competition)의 참가자로, 다음 공연을 준비하고 있다. 음악에 대해서는 아무것도 모르기 때문에 남의 플레이리스트를 그대로 훔쳐 쓰기로 하고, 더 이상 신경 쓰지 않기로 한다. 대신 신경 쓰는 것은 무대 장치의 미관이다. 너무 단순해 보이면 관객이 감탄하지 않을 것이고, 당신이 사실 형편없는 DJ라는 걸 눈치챌지도 모른다.

이 문제에 대한 정확하고 빠른 해법을 떠올리는 데는 오래 걸리지 않는다. 쓸모없는 포트 몇 개가 달린 긴 스트립을 하나 놓고, 이 포트들 사이에 쓸모없는 케이블 몇 개를 연결한다. 각 케이블은 두 포트를 연결하며, 이 특별한 포트는 여러 번 사용할 수 있다. 거대하게 얽힌 전선을 보는 사람은 누구든 당신의 대단한 DJ 실력에 경외심을 품을 것이다.

하지만 같은 두 포트를 직접 두 번 연결하고 싶지는 않다. 누군가 이걸 눈치챈다면, 당신이 사기꾼이라는 사실을 즉시 알아차릴 테니까!

당신은 포트가 정해진 위치에 놓인 큰 스트립을 만들었고, 미적으로 마음에 드는 길이의 케이블 집합을 찾아 두었다. 케이블을 연결하기 시작하면서 또 다른 문제에 부딪힌다. 케이블이 너무 짧으면 포트를 연결하는 데 사용할 수 없다! 그래서 모든 전선을 스트립에 장착할 수 있는지 스스로에게 묻는다. 장착할 수 없다면 미관이 망가지므로 처음부터 다시 시작해야 한다.

입력

  • 첫째 줄에는 스트립 위 포트의 수 nn과 전선의 수 mm이 주어진다. (2≤n≤5⋅1052 \le n \le 5 \cdot 10^5, 1≤m≤5⋅1051 \le m \le 5 \cdot 10^5)
  • 둘째 줄에는 nn개 소켓의 위치를 나타내는 정수 x1,…,xnx_1, \ldots, x_n이 주어진다. (0≤x1<⋯<xn≤1090 \le x_1 < \cdots < x_n \le 10^9)
  • 셋째 줄에는 전선의 길이를 나타내는 mm개의 정수 l1,…,lml_1, \ldots, l_m이 주어진다. (1≤li≤1091 \le l_i \le 10^9)

출력

모든 전선을 연결할 수 있으면 yes를, 그렇지 않으면 no를 출력한다.

예제2

  1. 예제 1

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

    입력
    3 4
    0 1 2
    10 10 10 10
    
    예상 출력
    no