401
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.0001 ≤ 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] << ' ';
}
}
}
Comentarii