fbpx

Problema #2628 – h2 – Rezolvari PBInfo

de Mihai-Alexandru

În urma referendumului a rămas doar un șir de numere naturale a[1], a[2], …, a[n].

Cerința

Să se determine cel mai mic număr care apare exact o dată în șir.

Date de intrare

Programul citește de la tastatură numărul n, apoi șirul n numere naturale, separate prin spații.

Date de ieșire

Programul va afișa pe ecran numărul m, reprezentând numărul minim care apare exact o dată în șir.

Restricții și precizări

  • 10 ≤ n ≤ 1 000 000
  • 0 ≤ a[i] ≤ 2.000.000.000
  • Se garantează că există cel puțin un număr care apare o singură dată.

Exemplu

Intrare

10
5 3 8 7 3 3 2 5 9 5

Ieșire

2

Explicație

Numerele care apar o singură dată în șir sunt: 8, 7, 2, 9. Cel mai mic este 2.

#include <bits/stdc++.h>
#include <bits/stdc++.h>

using namespace std;
unordered_map <int , int> r;
int n , s;

int main()
{
    cin >> n;
    for(int i = 1 ; i <= n ; i++)
    {
        cin >> s;
        r[s]++;
    }
    int mini = 2000000000;
    for(auto x:r)
    {
        if(x.second == 1 && x.first < mini)
            mini =  x.first ;
    }
    cout << mini;
}
Comentarii

S-ar putea sa iti placa