# PBinfo #242 – interclasm – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se dă un număr natural x și două șiruri a și b, cu n, respectiv m elemente, numere naturale, ordonate strict crescător. Să se afișeze, în ordine crescătoare, multiplii lui x care se află doar în unul dintre cele două șiruri.

Date de intrare
Fișierul de intrare interclasm.in conține pe prima linie numărul x, pe linia a doua numărul n; urmează n numere naturale, ordonate crescător, ce pot fi dispuse pe mai multe linii. Linia următoare conține numărul m și urmează m numere naturale, ordonate crescător, ce pot fi dispuse pe mai multe linii.

Date de ieșire
Fișierul de ieșire interclasm.out va conține pe prima linie valorile determinate, separate printr-un spațiu.

Restricții și precizări

0 < x < 1.000.000
1 ≤ n, m ≤ 100.000
valorile elementelor celor două șiruri vor fi mai mici decât 1.000.000

Exemplu:
interclasm.in

5
7
1 2 3 4 
7 20 60
9
3 5 7 
8 9 10 12 
20 24
interclasm.out

5 10 60

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("interclasm.in");
ofstream out("interclasm.out");
int a[100001], b[100001], c[200001], n, m, x, i = 1, j = 1, k = 0;
int main() {
    in >> x >> n;
    for (int i = 1; i <= n; i++) in >> a[i];
    in >> m;
    for (int j = 1; j <= m; j++) in >> b[j];
    i = 1; j = 1; k = 0;
    while (i <= n && j <= m)
        if (a[i] < b[j])
            if (a[i] % x == 0) c[++k] = a[i], i++;
            else i++;
        else if (a[i] > b[j])
                if (b[j] % x == 0) c[++k] = b[j], j++;
                else j++;
            else i++, j++;
    if (i <= n)
        while (i <= n)
            if (a[i] % x == 0) c[++k] = a[i], i++;
            else i++;
    else while (j <= m)
            if (b[j] % x == 0) c[++k] = b[j], j++;
                else j++;
    for (int t = 1; t <= k; t++)
        out << c[t] << " ";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/242)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/242/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-242/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
