Rezolvare PBinfo #3400

Decorative Icon Problema: culori5 / 3400

Decorative IconAutor: Deivid

În jurul muzeului din orașul Smallville exista un gard ce conține N scânduri de înălțimi diferite. Putem spune că scândura i are înălțimea Hi. 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 K cunoscut, orice secvență de K scânduri consecutive nu trebuie să conțină două scânduri de aceeași înălțime, colorate identic.

Cerința

Scrieţi un program care să găsească numărul minim de culori ce vor fi folosite pentru a colora gardul.

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, N numere naturale Hi reprezentand înălțimile celor N scânduri.

Date de ieșire

Fișierul de ieșire culori.out va conține un număr întreg C reprezentând numărul minim de culori folosite.

Restricții și precizări
  • 1 ≤ K ≤ 200.000
  • 1 ≤ K ≤ N ≤ 1.000.000
  • 1 ≤ Hi ≤ 1.000
  • Pentru 50% din punctaj, 1 ≤ K ≤ N ≤ 5.000
  • Pentru 80% din punctaj, 1 ≤ K ≤ N ≤ 200.000
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ă 3 secvențe: 1 1 2 1, 1 2 1 3 și 2 1 3 2 și orice secvență respectă condiția din enunț.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate