# PBinfo #1400 – e_palindrom – Rezolvare C++

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

## Enunț

Cerința
Se citește un șir cu n numere naturale. Să se verifice dacă prin rearajarea elementelor șirului se poate obține un șir palindrom.

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

Date de ieșire
Programul va afișa pe ecran unul dintre mesajele DA sau NU.

Restricții și precizări

1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 10.000

Exemplu:
Intrare

5
5 2 3 3 5
Ieșire

DA
Explicație
Se poate obține șirul palindrom 5 3 2 3 5.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
    int a[10000],n,i,j,aux;
    cin>>n;
    for(i=1;i<=n;++i)
        cin>>a[i];
    for (i=1;i<n;++i)
        for(j=i+1;j<=n;++j)
            if (a[i]<a[j])
            {
                aux=a[i];
                a[i]=a[j];
                a[j]=aux;
            }
    i=1;
    while (i<n and a[i]==a[i+1])
        i=i+2;
    if (i>=n)
    {
        cout<<"DA";
        return 0;
    }
    i++;
    while (i<n and a[i]==a[i+1])
        i=i+2;
    if (i>n)
    {
        cout<<"DA";
        return 0;
    }
    cout<<"NU";
    return 0;
}
```

## Resurse

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