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

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

점호

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

요약
1학년과 2학년 학생의 줄과 창 크기 K가 주어질 때, 매 분 앞 K명 안에서 각 학년의 가장 앞 학생이 빠지는 과정을 시뮬레이션한다.
난이도

보통10점 중 6점

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

문제

당신은 서울과학고등학교 1학년으로, 기상곡이 울리자마자 기숙사 2층으로 달려나가 아침 점호 줄을 섰습니다. 하지만 당신은 늦어버렸고, 당신 앞에 이미 NN명의 1학년과 2학년 학생이 서 있음을 알게 되었습니다. 당신은 이 NN명이 모두 점호를 끝내기까지의 시간을 알고 싶습니다.현재 pp명이 점호 줄에 서 있을 때, 점호의 규칙은 다음과 같습니다.

  • 줄의 가장 앞에 있는 min⁡(K,p)\min(K,p)명 중 1학년이 있으면 가장 앞에 있는 1학년이 점호를 하고 줄에서 빠지고, 2학년이 있으면 가장 앞에 있는 2학년이 점호를 하고 줄에서 빠집니다. 1학년과 2학년이 둘 다 있다면, 가장 앞에 있는 1학년 학생과 가장 앞에 있는 2학년 학생이 동시에 줄에서 빠집니다.
  • 위 과정은 1학년과 2학년에 대해 동시에 일어나며, 시간 11이 걸립니다.

NN명이 모두 점호를 끝내기까지 걸리는 시간을 구하는 프로그램을 작성하세요.

입력

첫째 줄에 NN, KK가 띄어쓰기를 사이에 두고 주어집니다.둘째 줄에 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N이 띄어쓰기를 사이에 두고 주어집니다. AA는 줄의 상태를 나타내는 수열이며, 앞에서부터 ii번째 학생이 1학년이면 A_i=1A\_i=1, 2학년이면 A_i=2A\_i=2의 값을 가집니다.

출력

첫째 줄에 NN명의 학생이 모두 점호를 끝내기까지 걸리는 시간을 출력합니다.

제한

  • 1≤N≤1051\le N\le 10^5
  • 1≤K≤N1\le K\le N
  • 1≤A_i≤21\le A\_i\le 2 (1≤i≤N)(1\le i\le N)

예제3

  1. 예제 1

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

    입력
    9 3
    2 1 1 1 2 1 2 1 1
    
    예상 출력
    6
    
  3. 예제 3

    입력
    9 2
    2 2 2 2 1 2 1 2 1
    
    예상 출력
    6