În jurul muzeului din orașul Smallville exista un gard ce conține scânduri de înălțimi diferite. Putem spune că scândura are înălțimea . Directorul muzeului le-a cerut angajaților să vopsească acest gard cu un număr minim de culori, astfel încât să se respecte următoarea condiție: pentru un număr întreg cunoscut, orice secvență de scânduri consecutive nu trebuie să conțină scânduri de aceeași înălțime, colorate identic.
Cerință
Scrieţi un program care să găsească numărul minim de culori ce vor fi folosite pentru a colora gardului.
Date de intrare
Fişierul de intrare culori.in
conţine:
- Pe prima linie,
N K
- două numere întregi reprezentând numărul de scânduri și lungimea secvenței. - Pe următoarea linie, numere naturale reprezentand înălțimile celor scânduri.
Date de ieșire
Fişierul de ieşire culori.out
va conţine un număr întreg reprezentând numărul minim de culori folosite.
Restricții și precizări
- ;
- ;
- ;
- Pentru 50% din punctaj, ;
- Pentru 80% din punctaj, ;
Exemplu
culori.in
6 4
1 1 2 1 3 2
culori.out
3
Explicație
O posibilă colorare a scândurilor folosind culorile 1, 2, 3
este: 1 2 1 3 1 2
.
Există secvențe: 1 1 2 1
, 1 2 1 3
si 2 1 3 2
și orice secvență respectă condiția din enunț.