jetoane

Time limit: 0.02s Memory limit: 2MB Input: jetoane.in Output: jetoane.out

Despina este o fetiţă căreia îi plac numerele, jocurile şi culoarea albastră. Ea a găsit în podul casei la bunici o cutie mare cu jetoane inscripţionate cu numere naturale distincte, consecutive începând cu valoarea 11. Intensitatea culorii jetoanelor a suferit schimbări din cauza trecerii timpului (toate sunt albastre dar intensităţile culorii pot fi diferite). Despina a determinat printr-o formulă secretă intensitatea culorii fiecărui jeton şi a reprezentat-o ca un număr natural. Împreună cu prietenele ei a inventat un joc cu următoarele reguli:

  • jucătorii trebuie să aşeze jetoanele pe unul sau mai multe rânduri;
  • pe fiecare rând jetoanele sunt aranjate în ordine strict crescătoare a intensităţii culorii;
  • jetoanele de pe fiecare rând trebuie să aibă numerele inscripţionate în ordine strict crescătoare;
  • un jeton nu poate intra în joc decât dacă au fost aşezate jetoanele cu numerele inscripţionate mai mici decât numărul inscripţionat pe acesta;
  • jucătorii trebuie să formeze cât mai puţine rânduri;

Cerinţă

Cunoscând numărul de jetoane şi intensitatea culorii fiecărui jeton determinată prin formula secretă, să se scrie un program care determină numărul minim de rânduri pe care se pot aşeza jetoanele şi o modalitate de aşezare a acestora conform regulilor jocului.

Date de intrare

Fişierul de intrare jetoane.in va avea structura:

  • nn - numărul de jetoane
  • x1 x2xnx_1 \ x_2 \dots x_n - intensitatea culorii fiecărui jeton

Date de ieşire

Fişierul de ieşire jetoane.out va avea structura:

  • kk - numărul minim de rânduri
  • x11x12x1p1x_{1_1} x_{1_2} \dots x_{1_{p_1}} - numerele jetoanelor din rândul 11
  • x21 x22x2p2x_{2_1} \ x_{2_2} \dots x_{2_{p_2}} - numerele jetoanelor din rândul 22
  • \dots
  • xk1 xk2xkpkx_{k_1} \ x_{k_2} \dots x_{k_{p_k}} - numerele jetoanelor din rândul kk

Restricţii şi precizări

  • 2n10 0002 \leq n \leq 10\ 000
  • xiNx_i \in \mathbb{N}^*, xi30 000x_i \leq 30\ 000, 1in1 \leq i \leq n
  • Se acordă punctaje parţiale: 40%40\% din punctaj pentru determinarea corectă a numărului minim de rânduri, 60%60\% din punctaj pentru determinarea corectă a rândurilor

Exemplul 1

jetoane.in

10
2 3 1 6 8 3 7 9 5 7

jetoane.out

3
1 2 4 5 8
3 6 7
9 10

Explicație

  • pe primul rând sunt aşezate jetoanele cu numerele 1,2,4,5,81, 2, 4, 5, 8 (cu intensităţi 2,3,6,82, 3, 6, 8)
  • pe randul doi jetoanele cu numerele 3,6,73, 6, 7 (cu intensităţi 1,3,71, 3, 7)
  • pe randul trei jetoanele cu numerele 9,109, 10 (cu intensităţi 5,75, 7)

Log in or sign up to be able to send submissions!