Fișierul bac.in conține numere naturale: pe prima linie două numere din intervalul [1,106], m și n, pe a doua linie un șir de m numere din intervalul [1,109], iar pe a treia linie un șir de n numere din intervalul [1,109]. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu, și ambele șiruri sunt ordonate crescător.
Se cere să se afișeze pe ecran, în ordine strict crescătoare, un șir format dintr-un număr maxim de termeni care aparțin cel puțin unuia dintre cele două șiruri, astfel încât oricare două elemente aflate pe poziții consecutive să fie de paritate diferită. Numerele afișate sunt separate prin câte un spațiu.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul are conținutul alăturat, se afișează pe ecran
2 3 4 5 8 11 14 sau 2 3 4 5 10 11 14
8 5
2 4 5 8 8 11 14 14
3 4 5 5 10
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul C/C++ corespunzător algoritmului proiectat.