Fişierul intrare/ieşire:jucarii.in, jucarii.outSursăLot Ploiești Juniori 2026, Baraj 2
AutorCatalin FrancuAdăugată deValiAntonie123Antonie Aureliu Valentin ValiAntonie123
Timp execuţie pe test0.15 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Jucarii

Un copil are M jucării pe care, fiind copil de informatician, le-a numerotat de la 1 la M. El îşi ţine jucăriile în dulap, în nişte cutii, câte două jucării în fiecare cutie, cu excepţia ultimei cutii, în care stă o singură jucărie dacă M este impar.

Copilul şi-a planificat ordinea în care vrea să se joace diseară cu jucăriile: J1, J2, ..., JN (un vector de N numere naturale între 1 şi M, nu neapărat distincte). Totuşi, camera este mică şi copilul poate scoate din dulap o singură cutie odată. Ori de câte ori jucăria cu care urmează să se joace este în dulap (inclusiv prima dată), el trebuie să
deschidă dulapul, să pună la loc în dulap cutia de afară (dacă există vreo cutie afară), şi abia apoi să scoată cutia cu jucăria dorită. În aşteptarea serii, copilul se hotărăşte să-şi reorganizeze jucăriile în cutii.

Cerinţă

Găsiţi o aşezare a jucăriilor în cutii care să minimizeze numărul de deschideri ale dulapului.

Date de intrare

Fişierul de intrare jucarii.in conţine pe prima linie numerele M şi N, iar pe a doua linie valorile J1, J2, ..., JN, despărţite prin spaţii.

Date de ieşire

În fişierul de ieşire jucarii.out tipăriţi pe prima linie numărul minim de deschideri ale dulapului. Pe a doua linie afişaţi o aşezare optimă în cutii sub forma a M numere, A1, A2, ..., AM, despărţite prin spaţii, cu semnificaţia că:

  • Jucăriile cu numerele A1 şi A2 stau în prima cutie.
  • Jucăriile cu numerele A3 şi A4 stau în a doua cutie.
  • ...
  • Dacă M este par, atunci jucăriile AM-1 şi AM stau în ultima cutie.
  • Dacă M este impar, atunci jucăria AM stă singură în ultima cutie.

Dacă există mai multe soluţii, afişaţi-o pe oricare.

Restricţii şi precizări

  • 3 ≤ M ≤ 20
  • 1 ≤ N ≤ 100 000
  • 1 ≤ Ji ≤ M pentru orice 1 ≤ i ≤ N
#PunctajRestricţii
15M ≤ 4, 1 ≤ N ≤ 100
275 ≤ M ≤ 7, 100 < N ≤ 3 000
3118 ≤ M ≤ 10
41311 ≤ M ≤ 13
51514 ≤ M ≤ 16
649Fără restricţii suplimentare

Exemplu

jucarii.injucarii.out
8 14
1 2 5 3 5 3 7 3 7 3 7 8 7 8
7
7 8 5 3 2 1 4 6

Explicaţie

Copilul grupează jucăriile 7 cu 8, 5 cu 3, 2 cu 1, 4 cu 6. Apoi deschide dulapul de 7 ori, astfel:

  • Scoate cutia (2, 1), se joacă cu 1, 2.
  • Scoate cutia (5, 3), se joacă cu 5, 3, 5, 3.
  • Scoate cutia (7, 8), se joacă cu 7.
  • Scoate cutia (5, 3), se joacă cu 3.
  • Scoate cutia (7, 8), se joacă cu 7.
  • Scoate cutia (5, 3), se joacă cu 3.
  • Scoate cutia (7, 8), se joacă cu 7, 8, 7, 8.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?