fbpx

Problema #1365 – aceeasi_paritate – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau n numere întregi. Să se insereze între oricare două numere de aceeași paritate media lor aritmetică.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran elementele noului șir de numere obținut după inserarea elementelor, separate prin câte un spațiu.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • -1.000.000.000 ≤ elementele șirului ≤ 1.000.000.000

Exemplu

Intrare

5
1 21 3 4 8

Ieșire

1 11 21 12 3 4 6 8

Explicație

Între 1 și 21 se inserează numărul (1+21)/2=11. Între 21 și 3 se inserează numărul (21+3)/2=12. Între 3 și 4 nu se inserează nimic, pentru că au paritate diferită. Între 4 și 8 se inserează numărul 6.

#include <bits/stdc++.h>
using namespace std;

int main ()
{
    int a[1000001];
    int n;
    cin >> n;
    for (int i = 0 ; i < n ; ++i)
        cin >> a[i];
    for (int i = 0 ; i < n ; ++i)
    {
        cout << a[i] << ' ';
        if ((a[i]+a[i+1])%2==0)
        {
        if (i==n-1)
        {}
        else
        cout << (a[i]+a[i+1])/2 << ' ';
        }
    }
    return 0;
    
}
Comentarii

S-ar putea sa iti placa