페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8096
서브태스크

멋진 수열 1s 32MB

문제

멋진 수열은 정렬하였을 때 피보나치 수열을 이루는 수열을 의미한다.

피보나치 수열은 첫째 항과 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.

처음 여섯 항은 각각 1, 1, 2, 3, 5, 8이다.

예를 들어 4 1 2 1 3 1 1 와 같은 수열이 주어진다면, 아래와 같은 멋진 수열들이 존재한다.

  • 길이 3의 멋진 수열: 4 [1 2 1] 3 1 1

  • 길이 4의 멋진 수열: 4 [1 2 1 3] 1 1

  • 길이 4의 멋진 수열: 4 1 [2 1 3 1] 1

  • 길이 2의 멋진 수열: 4 1 2 1 3 [1 1]

길이 N의 수열이 주어졌을 때, 해당 수열에 길이 M의 멋진 수열이 존재하는지 알아내는 프로그램을 작성하시오.


입력

첫 줄에 두 정수 NM이 주어진다.

두 번째 줄에 수열을 이루는 N개의 정수가 한 줄에 공백으로 구분되어 주어진다.

[제약 조건]

  • 1 \le N \le 100

  • 1 \le M \le N

  • 수열을 이루는 원소들은 모두 1 이상 10^9 이하의 정수로 주어진다.


출력

첫 줄에 길이 M의 멋진 수열이 존재한다면 "YES"를, 아니라면 "NO"를 출력한다.


부분문제

번호 점수 조건
#110점

N \le 4

#220점

M=5

#370점

추가 제약조건 없음


예제 #1

6 3
1 3 1 2 3 1
NO

예제 #2

7 4
1 5 1 1 2 3 8
YES


출처

klee
로그인해야 코드를 작성할 수 있어요.