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

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

대충 카드로 몬스터 잡는 게임

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

요약
매 턴 등장하는 몬스터 종류가 주어질 때, 카드 한 벌을 모두 쓰면 다시 채워지는 손패로 턴마다 최대 두 장을 내서 처치할 수 있는 몬스터 수의 최댓값을 구한다.
난이도

보통10점 중 6점

유형
그리디, 시뮬레이션
정답자
아직 제출이 없습니다

문제

세계적인 게임 회사 KDH Corp.에서 개발한 턴제 어드벤처 카드 게임인 『대충 카드로 몬스터 잡는 게임』이 드디어 오늘 출시되었다! 다음은 게임의 규칙을 설명한 룰북이다.

  • 플레이어는 처음에 11번부터 KK번까지의 카드를 각각 한 장씩 손에 들고 게임을 시작한다.
  • 게임은 총 NN개의 턴으로 구성되어 있으며, 각 턴에는 11번부터 KK번까지의 몬스터 중 최대 한 마리가 등장한다.
  • 플레이어는 각 턴에 손에 들고 있는 카드 중 최대 2장의 카드를 낼 수 있다. 카드를 한 장도 내지 않고 턴을 넘기는 것도 가능하다.
  • 몬스터가 등장한 턴에 플레이어가 등장한 몬스터의 번호와 동일한 번호의 카드를 내면 해당 카드로 몬스터를 처치할 수 있다.
  • 만약 어떤 턴에 등장한 몬스터를 그 턴에 처치하지 못하면, 몬스터는 그 턴이 끝난 뒤 도망친다.
  • 플레이어가 손에 들고 있는 카드를 모두 소진하고 나면, 턴이 끝난 뒤에 11번부터 KK번까지의 카드를 한 장씩 다시 손으로 들고 온다.
  • 더 많은 몬스터를 처치할수록 더 높은 점수를 획득한다.

재야의 게임 고수인 도훈이는 『대충 카드로 몬스터 잡는 게임』이 출시되자마자 11등을 차지했지만, 그의 라이벌 강민이가 그의 11등 자리를 위협하고 있다! 조바심이 난 도훈이는 아예 가능한 최대 점수를 먼저 기록해서 11등을 뺏기는 일을 막고자 한다. 도훈이가 더욱 확실히 11등을 차지할 수 있도록 각 게임에서 처치할 수 있는 최대 몬스터 수를 구해주자.

입력

첫 번째 줄에 게임의 총 턴수 NN과 카드 및 몬스터의 종류 KK가 공백으로 구분되어 주어진다. (1≤N,K≤500,000)(1\leq N,K\leq 500\\, 000)

두 번째 줄에 각 턴에 등장하는 몬스터의 종류 c_1,c_2,⋯ ,c_Nc\_1,c\_2,\cdots ,c\_N이 공백으로 구분되어 주어진다. (0≤c_i≤K)(0\leq c\_i\leq K) c_i=0c\_i=0이면 턴 ii에는 몬스터가 등장하지 않았다는 뜻이다.

출력

처치할 수 있는 몬스터 수의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    6 4
    1 1 2 2 3 3
    
    예상 출력
    5
    
  2. 예제 2

    입력
    10 5
    1 2 2 0 3 3 0 5 4 4
    
    예상 출력
    7