Sari la conținut
60:00

Algoritmi eficienți: Exersează capitolul

din 2023 · Varianta 7

Fișierul date.in conține pe prima linie două numere naturale din intervalul [1,10^6], m și n, iar pe următoarele două linii numere naturale din intervalul [0,10^2): pe a doua linie un șir A, de m numere, iar pe a treia linie un șir B, de n numere. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran numărul maxim de perechi de forma (pa,pb) (pa∈[1,m], pb∈[1,n]), cu proprietatea că termenul de pe poziția pa din șirul A are aceeași valoare cu termenul de pe poziția pb din șirul B și că fiecare poziție, corespunzătoare șirului A, respectiv șirului B, apare în cel mult o pereche, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.

Exemplu: dacă fișierul conține numerele alăturate, se afișează pe ecran 6 (de exemplu, pentru perechile (1,1), (2,9), (4,2), (5,5), (6,6), (7,7) sau pentru perechile (1,2), (2,9), (4,1), (5,7), (6,8), (8,5)).

8 9
1 0 4 1 5 3 5 5
1 1 1 7 5 3 5 3 0

Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia.

Raportează o greșeală

Ce este greșit?
Timpul de executare · n = câte date citește algoritmul
Memoria folosită · fără datele citite