ConcursC++17

ausoara

Dorind să se angajeze, Arius M. a fost nevoit să dea un interviu în care a primit următoarea problemă simplă: dându-se N șiruri crescătoare de numere întregi, să se determine cel mai lung subșir comun al acestora.

Cerință

Rezolvați această problemă pe care Arius M. a considerat-o destul de ușoară.

Data de intrare

Pe prima linie a fișierului ausoara.in se află N, numărul șirurilor. Următoarele N linii descriu cele N șiruri. Linia i este formată din MiM_i, numărul elementelor șirului curent, urmat de MiM_i numere, reprezentând elementele șirului i.

Data de ieșire

Fișierul de ieșire ausoara.out va conține pe prima linie T, numărul elementelor celui mai lung subșir comun al celor N șiruri. Urmează T numere întregi ce descriu elementele subșirului comun de lungime maximă.

Restricții și precizări

  • 0 < N < 101
  • 0<Mi<10010 < M_i < 1001
  • Dacă avem un șir de numere a1,a2,…,ana_1, a_2, …, a_n atunci numim subșir un șir de forma ai1,ai2,…,aika_{i_1}, a_{i_2}, …, a_{i_k} cu i1,i2,…,iki_1, i_2, …, i_k aparținând mulțimii {1, 2, …, n} și i1<i2<...<iki_1 < i_2 < ... < i_k.
  • Elementele șirurilor sunt numere întregi în intervalul [1, 1 000 000].
  • Elementele fiecărui șir sunt date în ordine crescătoare.
  • Pentru 60% din teste, elementele fiecărui șir sunt distincte.
  • Pentru 90% din teste, elementele șirurilor sunt în intervalul [1, 10 000].

Exemple:

ausoara.in

1
3 1 2 3

ausoara.out

3 1 2 3

ausoara.in

2
2 1 2
2 2 3

ausoara.out

1 2

ausoara.in

3
6 1 2 2 3 5 5
9 2 2 2 2 2 5 5 5 7
9 2 2 2 4 5 7 7 7 7

ausoara.out

3 2 2 5

ausoara.in

3
3 1 2 3
3 4 5 6
3 7 8 9

ausoara.out

0

ausoara.in

3
3 1 1 1
1 1
2 1 1

ausoara.out

1 1

Sursă și autori

ONI 2013, clasele 11, 12. Andrei Pârvu, Marius Laurențiu Stroe, Mugurel Ionuț Andreica.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑