만드는 중입니다

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

점심시간 이름 떠올리기

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

요약
동료 n명과 날마다 버거 개수가 주어질 때, 버거와 샐러드를 배정해 이름을 고유하게 알아낼 수 있는 동료의 최대 수를 구합니다.
난이도

보통10점 중 7점

유형
조합론, 비트 연산, 수학
정답자
아직 제출이 없습니다

문제

미아는 새로 입사한 행정 보조원이다. 첫날 회사 직원 모두에게 소개를 받았지만, 깜빡하는 성격이라 사람들의 이름을 자주 잊는다. 다시 이름을 묻기는 너무 부끄러워서, 점심시간에 이름을 떠올릴 방법을 찾아낸다.

미아는 앞으로 며칠 동안 매일 동료 전원의 점심을 주문한다. 하루에 일부 동료에게는 햄버거를, 나머지 동료에게는 샐러드를 주문한다. 햄버거 개수는 날마다 달라질 수 있다. 주문을 마치면 햄버거를 받을 동료에게 이메일을 보내고, 샐러드를 받을 동료에게도 이메일을 보낸다.

미아에게는 동료들의 이름이 적힌 이메일 목록이 있다. 이름을 골라서 누구에게 햄버거를 주고 누구에게 샐러드를 줄지 정할 수 있다. 미아는 동료들이 점심을 먹는 모습을 볼 수 있다. 누가 햄버거를 먹고 누가 샐러드를 먹는지 관찰하면, 동료들의 이름을 하나씩 특정하는 데 도움이 되는 정보를 얻는다.

예를 들어 앨리스, 다니엘, 제니퍼라는 동료 세 명이 있고, 미아가 매일 햄버거 1개와 샐러드 2개를 주문할 수 있다고 하자. 첫째 날 앨리스에게 햄버거를, 다니엘과 제니퍼에게 샐러드를 주문한다. 햄버거를 먹는 사람을 보면 앨리스가 누구인지 알 수 있다. 둘째 날에는 다니엘에게 햄버거를, 제니퍼에게 샐러드를 주문한다(이미 신원을 확인한 앨리스에게도 샐러드를 주문한다). 그러면 세 명 모두를 특정할 수 있다.

미아가 햄버거와 샐러드를 받을 사람을 최적으로 배정할 때, 앞으로 며칠 안에 고유하게 이름을 특정할 수 있는 동료의 최대 인원은 몇 명인가?

입력

첫 줄에 공백으로 구분된 두 정수 nn (2≤n≤302 \le n \le 30)과 mm (1≤m≤101 \le m \le 10)이 주어진다. 미아에게는 동료가 nn명 있고, mm일 동안 점심을 주문한다.

이어지는 mm개의 줄에는 각각 정수 aa (1≤a<n1 \le a < n) 하나가 주어지며, 이는 그날 미아가 주문하는 햄버거의 개수다. 날짜는 순서대로 나열되어 있다.

출력

mm일이 지난 뒤 미아가 고유하게 이름을 특정할 수 있는 동료의 최대 인원을 정수 하나로 출력한다.

예제2

  1. 예제 1

    입력
    4 2
    2
    2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    16 3
    6
    8
    8
    
    예상 출력
    5