만드는 중입니다

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

커레오그래피

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

요약
두 이진 문자열이 주어지면, 거리가 K 이하인 두 위치를 맞바꾸어 첫 문자열을 마지막 문자열로 만드는 최소 횟수를 구합니다.
난이도

보통10점 중 7점

유형
그리디, 문자열, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

소들이 댄스 팀을 꾸렸고, 농부 존이 이 팀의 안무가다. 팀의 최신 댄스에는 한 줄로 선 NN마리의 소(2≤N≤1062 \le N \le 10^6)가 나온다. 댄스의 한 동작은 최대 KK칸 떨어진 두 소가 점프해서 서로의 자리로 이동하는 것이다(1≤K<N1 \le K < N).

줄에 선 소는 저지종과 홀스타인종 두 가지다. 농부 존은 댄스를 길이가 NN인 이진 문자열의 나열로 기록했다. 00은 저지종, $1은 홀스타인종을 뜻하며, 각 문자열은 소들이 줄에 선 모습을 나타낸다.

농부 Nhoj가 댄스를 방해해서 첫 번째 문자열과 마지막 문자열만 남기고 나머지를 지워 버렸다. 대회가 코앞이라 농부 존은 댄스를 빨리 복원해야 한다.

주어진 두 이진 문자열로부터 댄스의 최소 동작 횟수를 구하라.

입력

첫 번째 줄에 NN과 KK가 주어진다.

두 번째 줄에 첫 번째 이진 문자열이 주어진다.

세 번째 줄에 마지막 이진 문자열이 주어진다.

두 이진 문자열의 1의 개수는 같다.

출력

댄스의 최소 동작 횟수를 출력한다.

예제3

  1. 예제 1

    입력
    4 1
    0111
    1110
    
    예상 출력
    3
    
  2. 예제 2

    입력
    5 2
    11000
    00011
    
    예상 출력
    3
    
  3. 예제 3

    입력
    5 4
    11000
    00011
    
    예상 출력
    2