Bokštas | 프로그래밍의 벗 PivotOJ
PivotOJ

Bokštas

시간 제한: 1000ms메모리 제한: 1024MB출처: LMIO 2018-2019BOJ 30060
이 문제는 본문 이미지 일부가 표시되지 않습니다. 텍스트만으로 풀이가 어려울 수 있습니다.

문제

Jonas mėgsta žaisti su spalvotais kubeliais. Štai ir dabar dėliodamas NN kubelių vieną ant kito jis pastatė bokštą. Deja, Jonui bokštas nepatinka – jis norėtų taip perstatyti bokštą, kad jame neliktų ilgų vienspalvių kubelių sekų.

Norėdamas tą pasiekti, Jonas iš bokšto pašalins visas maksimalias vienspalves besiliečiančių kubelių sekas iš ≥ K kubelių.

Pavyzdžiui, turint bokštą:

[이미지 1]

ir K=3K = 3, Jonas pašalintų ilgą žalių kubelių seką. Taip gautų naują bokštą:

[이미지 2]

Jei bokšte yra kelios šalinamos sekos, jos visos pašalinamos vienu metu.

Perstačius bokštą jame vėl gali susidaryti ilgų tos pačios spalvos kubelių sekų. Tokiu atveju Jonas ir vėl randa visas ilgas vienspalvių kubelių sekas ir perstato bokštą be jų.

Šiame bokšte raudonų kubelių seka yra ilgio K=3K = 3, todėl Jonas vėl perstato bokštą:

[이미지 3]

Akivaizdu, kad kartais toks perstatymo procesas gali būti kartojamas gan ilgai. Padėkite Jonui surasti, kaip atrodytų bokštas po visų perstatymų.

입력

Pirmojoje eilutėje pateikti du sveikieji skaičiai NN – bokšto aukštis, ir KK.

Likusiose NN eilučių aprašyti bokštą sudarančių kubelių spalvų kodai (sveikieji skaičiai):

  • pirmojoje eilutėje pateiktas skaičius c1c_1 – viršutinio kubelio spalva;
  • antrojoje eilutėje pateiktas skaičius c2c_2 – kubelio esančio po 11-uoju spalva;
  • \dots
  • ii-tojoje eilutėje pateiktas skaičius cic_i – kubelio esančio po (i1)(i - 1)-uoju spalva;
  • \dots
  • NN-tojoje eilutėje pateiktas skaičius cNc_N – apatinio kubelio spalva.

출력

Pirmojoje eilutėje išveskite bokšto, gauto po visų perstatymų, aukštį NN'. Likusiose NN' eilučių išveskite skaičius c1,c2,,cNc'_1 , c'_2 , \dots , c'_{N'}. Tai bokštą sudarančių kubelių spalvų kodai pradedant bokšto viršuje esančiu kubeliu ir baigiant apatiniu.

예제

예제 1

입력
7 3
1
2
2
2
2
1
1
출력
0

예제 2

입력
6 3
2
2
2
2
1
1
출력
2
1
1

예제 3

입력
5 2
1
1
2
1
1
출력
1
2
코드를 제출하려면 로그인하세요.