# PBinfo #4353 – CB_par_impar – Rezolvare C++

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

## Enunț

Cerința
Se dă un vector x cu n elemente numere naturale, ordonate crescător, și un vector y cu m elemente, de asemenea numere naturale. Determinați câte dintre elementele pare ale vectorului y apar în prima jumătate a vectorului x și câte dintre elementele impare ale vectorului y apar în cea de-a doua jumătate a vectorului x. Vectorul x are număr par de elemente.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi cele n elemente ale vectorului x. Apoi și citește m și cele m elemente ale lui y.

Date de ieșire
Programul va afișa pe ecran două valori a și b separate prin exact un spațiu. a este egal cu numărul de elementele pare ale vectorului y care apar în primele n/2 elemente din vectorul x, iar b este egal cu numărul de elementele impare ale vectorului y care apar în ultimele n/2 elemente din vectorul x. 

Restricții și precizări

1 ≤ n ≤ 100000 și este par
1 ≤ m ≤ 200000
elementele celor 2 vectori vor fi mai mici decât 1.000.000.000

Exemplu:
Intrare

8
1 2 5 6 9 10 14 15
8
8 14 9 14 16 15 4 2 
Ieșire

1 2
Explicație
2 este singurul element par din vectorul y care apare între primele 4 elemente din x, iar 9 și 15 sunt elementele impare din y care apar între ultimele 4 elemente din x.

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int CB(int A[], int st, int dr, int x)
{
    if(st>dr) return 0;
    else
    {
        int mij=(st+dr)/2;
        if(A[mij]==x) return 1;
        else if(A[mij]<x) return CB(A,mij+1,dr,x);
             else return CB(A,st,mij-1,x);
    }
}
int main()
{
    int X[100001],n,m,y,a=0,b=0;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>X[i];
    cin>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>y;
        if(y%2==0) a=a+CB(X,1,n/2,y);
        else b=b+CB(X,n/2+1,n,y);
    }
    cout<<a<<" "<<b;
    return 0;
}
```

## Resurse

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