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
#include <bits/stdc++.h> using namespace std; ifstream fin("interclasm.in"); ofstream fout("interclasm.out"); int main() { int x; fin >> x; int n; fin >> n; int a[100000] , b[100000] , v[200000]; int p = 0; for(int i = 0 ; i < n ; ++i) { fin >> a[i]; v[p]=a[i]; p++; } int m; fin >> m; for(int i = 0 ; i < m ; ++i) { fin >> b[i]; v[p]=b[i]; p++; } sort(v , v+p); for(int i = 0 ; i < p ; ++i) { if(v[i]!=v[i-1] && v[i]!=v[i+1]) { if(v[i]%x==0) fout << v[i] << ' '; } } }