panglica

Time limit: 0.2s Memory limit: 16MB Input: panglica.in Output: panglica.out

Gigel are o panglică alcătuită din benzi de 1cm1 cm lăţime, colorate în diverse culori. Panglica are NN benzi, fiecare colorată cu una din CC culori, culori pe care le vom numerota de la 11 la CC. Gigel vrea ca la ambele capete ale panglicii să aibă aceeaşi culoare, dar cum nu poate schimba culorile benzilor, singura posibilitate rămâne tăierea unor bucăţi de la capete.

Cerință

Scrieţi un program care să determine modul de tăiere a panglicii astfel încât la cele două capete să fie benzi de aceeaşi culoare, iar lungimea panglicii obţinute să fie maximă.

Date de intrare

Fişierul de intrare panglica.in conţine:

  • pe prima linie numerele naturale NN şi CC separate printr-un spaţiu;
  • pe următoarele NN linii descrierea panglicii: pe fiecare linie un număr natural de la 11 la CC, reprezentând în ordine culorile fâşiilor ce alcătuiesc panglica.

Date de ieșire

Fişierul de ieşire panglica.out va conţine următoarele 44 numere:

  • pe prima linie numărul de fâşii rămase;
  • pe linia a doua numărul culorii care se află la capete;
  • pe linia a treia câte fâşii trebuie tăiate de la începutul panglicii iniţiale;
  • pe linia a patra câte fâşii trebuie tăiate de la sfârşitul panglicii iniţiale

Restricții și precizări

  • 2N10 0002 \leq N \leq 10 \ 000;
  • 1C2001 \leq C \leq 200;
  • Dacă există mai multe soluţii alegeţi pe cea în care se taie cât mai puţin din partea de început a panglicii.

Exemplul 1

panglica.in

6 3
1
2
1
3
2
3

panglica.out

4
2
1
1

Exemplul 2

panglica.in

5 2
1
2
1
2
2

panglica.out

4
2
1
0

Log in or sign up to be able to send submissions!