# PBinfo #1151 – VerifEgaleDivImp – Rezolvare C++

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

## Enunț

Cerinţa
Se dă un vector cu n elemente numere naturale. Folosind metoda Divide et Impera să se verifice dacă toate elementele vectorului sunt egale.

Date de intrare
Programul citește de la tastatură numărul n, apoi n numere naturale, reprezentând elementele vectorului.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă vectorul are toate elementele egale, sau NU, în caz contrar.

Restricţii şi precizări

1 ≤ n ≤ 500
fiecare element al vectorului va avea cel mult patru cifre

Exemplu:
Date de intrare

7
6 6 6 6 4 6 6 
Date de ieșire

NU

## Cod sursă C++

```cpp
# include <iostream>
using namespace std;
int n, v[505];
void citire(int &n, int v[])
{
    cin>>n;
    for (int i=1; i<=n; i++)
        cin>>v[i];
}
int prim(int v[], int st, int dr)
{
    if(st == dr)
        return 1;
    else
    {
        int mij = (st + dr)/2;
        int R1 = prim(v, st, mij);
        int R2 = prim(v, mij+1, dr);
        if( R1==R2 && R1 == 1 && v[st] == v[dr])
            return 1;
        else
            return 0;
    }
}
int main()
{
     citire(n, v);
     if(prim(v, 1, n)==1)
        cout<<"DA";
     else
        cout<<"NU";
     return 0;
}
```

## Resurse

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