Sunteți pe pagina 1din 2

1. Se citeşte de la tastatură un şir de n numere naturale.

Spunem că numărul x este mai ghiduş


decât numărul y, dacă reprezentarea binară a lui x conţine mai puţine cifre de 1 decât
reprezentarea binară a lui y. Să se genereze un subşir al şirului dat, cu un număr maxim de
elemente, luate în aceiaşi ordine în care se găseau în şirul iniţial, cu proprietatea că orice
element al subşirului este mai ghiduş decât următorul.
Exemplu, pentru n=10 şi şirul (15, 2, 64, 12, 12, 8, 7, 2, 15, 62) o soluţie este subşirul
(64, 12, 7, 15, 62)

2. Se dă o matrice A cu m linii şi n coloane de numere întregi şi o poziţie iniţială a unui


spiriduş: (1, j0) – pe prima linie. Se cere să se determine un traseu parcurs de spiriduş pentru a
ajunge pe ultima linie, astfel încât suma numerelor de pe un traseu să fie maximă. Spiriduşul
se poate deplasa în una din cele trei poziţii de pe linia următoare (pe coloană şi pe diagonale).
Datele de intrare se citesc din fişierul text traseu.in care conţine pe prima linie
numerele m, n şi j0, iar pe următoarele m linii elementele tabloului A.
Datele de ieşire se scriu în fişierul text “traseu.out” care conţine pe prima linie suma
maximă găsită iar pe a doua literă numerele de pe traseu.
Exemplu :
traseu.in traseu.out
564 52
6 14 5 3 6 8 3 18 12 3 16
9 7 18 11 15 4
12 6 7 12 6 3
543578
13 16 7 4 5 3

3. Un număr de n elevi sunt așezați la ora de sport pe un rând în ordinea crescătoare a


înălșimii. Pentru exercițiul următor, profesorul de sport dorește să elimine din șir un număr
minim de elevi astfel încât diferența de înălțime dintre oricare doi elevi vecini din șirul final
să fie cel puțin x. Se știe de asemenea că primul elev din șir nu trebuie eliminat.
Exemplu. Dacă n=5, x=30 și înălțimile elevilor sunt (110, 130, 140, 160, 190) atunci o soluție
este selectarea elevilor 1, 3, 5.

4. Se consideră un șir cu n numere naturale. Determinați cel mai lung subșir crescător al


șirului, cu proprietatea că toate elementele subșirului sunt numere prime. Dacă există mai
multe subșiruri de lungime maximă se va afișa subșirul minim lexicografic.
Date de intrare
Fișierul de intrare sclmprime.in conține pe prima linie numărul n, iar pe a doua linie n numere
naturale separate prin spații.
Date de ieșire
Fișierul de ieșire sclmprime.out va conține pe prima linie numărul m, reprezentând lungimea
maximă a unui subșir crescător de numere prime. A doua linie va conține m numere prime
(separate prin spații) ce reprezintă subșirul crescător de lungime maximă de numere prime. În
cazul în care sunt mai multe subșiruri de lungime maximă se va scrie subșirul minim
lexicografic.
Restricții și precizări
 1 ≤ n ≤ 1000
 numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 1.000.000

Exemplu
sclmprime.in
10
5 10 2 4 5 8 9 8 11 7
sclmprime.out
3
257
Explicație
Lungimea maximă a unui subșir crescător de numere prime este 3.
Se observă că sunt mai multe subșiruri de lungime 3:  5 5 11;  5 5 7;  2 5 11;  2 5 7.
Cel mai mic din punct de vedere lexicografic este subșirul: 2 5 7.

5. Se dă un şir format din n numere naturale nenule. Aflaţi lungimea maximă a unui subşir al
şirului dat, astfel încât oricare două elemente consecutive din subşir să nu fie prime între ele.
Date de intrare
Fișierul de intrare pdi.in conține pe prima linie numărul n, iar pe a doua linie n numere
naturale separate prin spații.
Date de ieșire
Fișierul de ieșire pdi.out va conține pe prima linie lungimea maximă a unui subşir al şirului
dat, astfel încât oricare două elemente consecutive din subşir să nu fie prime între ele.
Restricții și precizări
 3 ≤ n ≤ 100.000
 numerele de pe a doua linie a fișierului de intrare vor fi mai mici decât 1.000.000

Exemplu
pdi.in
3
12 35 33
pdi.out
2
Explicație
Subşirul de lungime maximă 2 este format din numerele 12, 33.

S-ar putea să vă placă și