fbpx

Problema #2302 – Memory009 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau două șiruri de numere A și B.Calculati AB.

Date de intrare

Fișierul de intrare memory009.in conține pe prima linie numerele n, m (lungimile celor două șiruri), iar pe a doua linie n numere naturale separate prin spații, iar pe a treia linie m numere naturale separate prin spații .

Date de ieșire

Fișierul de ieșire memory009.out va conține mulțimea M care reprezinta mulțimea AB, în ordine crescătoare.

Restricții și precizări

  • 1 ≤ n ≤ m ≤ 1.000.000
  • numerele de pe a doua linie și a treia a fișierului de intrare vor fi mai mici sau egale cu 30
  • în fișierul de ieșire nu se repetă elementele !

Exemplu

memory009.in

3 2
2 5 3
5 9

memory009.out

5
#include <bits/stdc++.h>
using namespace std;
ifstream fin("memory009.in");
ofstream fout("memory009.out");
int main()
{
    int n , m , x , f1[32]={0} , f2[32]={0};
    fin >> n >> m;
    for(int i = 0 ; i < n ; ++i)
    {
        fin >> x;
        f1[x]++;
    }
    for(int i = 0 ; i < m ; ++i)
    {
        fin >> x;
        f2[x]++;
    }
    for(int i = 0 ; i <= 30 ; ++i)
    {
        if(f2[i]!=0 && f1[i]!=0)
            fout << i <<" ";
    }

    fin.close();
    fout.close();

    return 0;
}
Comentarii

S-ar putea sa iti placa