Fiind dat un șir de numere, numim secvenţă a acestuia o parte dintre termenii şirului luaţi de pe poziţii consecutive. Denumim platou al acestui şir o secvenţă formată din valori identice. Lungimea unui platou este egală cu numărul de elemente care îl formează.
De exemplu, în şirul de numere 1 1 1 7 7 3 4 4 4 7 7
avem:
- platourile
1 1 1
şi4 4 4
ambele având lungimea3
; - platourile
7 7
(cel care începe în poziţia a patra) şi7 7
(cel care începe pe poziţia a zecea), ambele având lungimea2
; - platoul
3
care are lungimea1
.
În schimb nu avem platoul 7 7 7 7
deoarece cele patru elemente egale cu 7
nu sunt pe poziţii consecutive!
Asupra unui şir se poate efectua următoarea operaţiune:
- se extrage un platou la alegere;
- se inserează platoul extras la pasul anterior într-o poziţie la alegere din şirul rezultat după extragere.
De exemplu, dacă avem următorul şir inițial: 2 2 5 0 5 8 8 8 4 9 9 9 0 0 2 2 8
extragem platoul 2 2
format din elementele aflate în penultima şi antepenultima poziţie şi obţinem şirul: 2 2 5 0 5 8 8 8 4 9 9 9 0 0 8
În şirul rezultat inserăm platoul 2 2
(pe care l-am extras în pasul anterior) în poziţia a doua şi obţinem şirul: 2 2 2 2 5 0 5 8 8 8 4 9 9 9 0 0 8
.
Cerința
Să se scrie un program care citește un șir de n
numere naturale din intervalul [0,10000]
și un număr k
și determină:
- lungimea maximă a unui platou care poate să apară în şir în urma efectuării operaţiunii de mai sus de maxim
k
ori - elementul din care este format platoul obținut după cele
k
operațiuni
Date de intrare
Programul va citi:
- pe prima linie un număr natural
k
; - pe a doua linie un număr natural
n
; - pe a treia linie un şir de
n
numere naturale separate prin câte un spaţiu. - pe a patra linie
p
, care reprezinta cerința;p
poate fi1
sau2
Date de ieșire
Programul va afisa lungimea maximă a unui platou care poate să apară în şir în urma efectuării celor două operaţiuni de maxim k
ori sau elementul din care este format platoul.
Restricții și precizări
1 ≤ n ≤ 1000000
1 ≤ k ≤ 100
- pentru cerința 1 –
50%
din punctaj - pentru cerința 2 –
50%
din punctaj - dacă sunt mai multe platouri de lungime maxima se va afișa cel mai mare considera cel format din valoarea cea mai mare
- toate testele au soluție
Exemplul 1
Intrare
2 16 2 2 5 0 5 8 8 8 4 9 9 9 0 8 2 2 1
Iesire
4
Exemplul 2
Intrare
2 16 2 2 5 0 5 8 8 8 4 9 9 9 0 8 2 2 2
Iesire
8
Explicație
În urma executării celor două operațiuni pot să apară platouri de lungime maximă 4
în două moduri: 2 2 2 2
respectiv 8 8 8 8
.