Cioc
Cioc, un elev abia aterizat în clasa a IX-a, primește de la doamna profesor de informatică un șir de n numere naturale pe care trebuie să îl prelucreze. Astfel, băiatul trebuie să scrie după fiecare dintre cele k cele mai mici elemente dublul lor. Dacă cel mai mare dintre aceste numere se repetă și deja se depășesc cele k elemente prevăzute, doamna profesor îi dă libertatea băiatului de a modifica valoarea lui k astfel încât să cuprindă și aceste valori. De exemplu, dacă n = 7, v[] = {1, 4, 6, 2, 3, 4, 5} și k = 4, atunci, în urma prelucrării, șirul v devine {1, 2, 4, 8, 6, 2, 4, 3, 6, 4, 8, 5}, și deci \( k_{final}=5 \).
Cerința
Cunoscându-se n, șirul v și k, să se afișeze:
- 1. Numărul \( k_{final} \);
- 2. Vectorul după prelucrare.
Date de intrare
Fișierul de intrare cioc.in conține pe prima linie numerele c (mereu 1 sau 2, reprezentând cerința ce trebuie rezolvată), n, k, iar următoarea linie va conține n numere întregi, reprezentând elementele vectorului inițial.
Date de ieșire
Fișierul de ieșire cioc.out va conține pe prima linie:
- Dacă
c = 1, atunci numărul \( k_{final} \); - Dacă
c = 2, atunci vectorul după prelucrare.
Restricții și precizări
1 ≤ n, k ≤ 100.000;- \( 1 \leq v[i] \leq 2^{60} \);
- Pentru
40%din teste,c=1.
Exemplu:
cioc.in
1 7 4 1 4 6 2 3 4 5
cioc.out
5
Explicație
k-ul inițial nu este suficient de cuprinzător (numărul 4 se repetă).
cioc.in
2 7 4 1 4 6 2 3 4 5
cioc.out
1 2 4 8 6 2 4 3 6 4 8 5
Explicație
Acesta este exemplul din enunț.