# PBinfo #2031 – MDiv – Rezolvare C++

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

## Enunț

Alexandru este elev în clasa a V-a și este foarte pasionat de informatică. Într-o zi acesta a descoperit un vector A cu N elemente și a început să se joace cu ele. Tatăl său, profesor de matematică, îi admiră ingeniozitatea și îi pune M întrebări de forma: “Câte valori din vectorul A sunt divizibile cu numărul x?”. 

Cerința
Alexandru a rezolvat deja această problemă banală, așa că te provoacă și pe tine să o rezolvi!

Date de intrare
Fișierul de intrare mdiv.in conține pe prima linie numărul N. Pe a doua linie se află N numere naturale, reprezentând elementele vectorului. Pe a treia linie se află numărul M, iar pe următoarele M linii se află întrebările.

Date de ieșire
Fișierul de ieșire mdiv.out va conține M linii, pe linia i aflându-se răspunsul la întrebarea i.

Restricții și precizări

1 ≤ N, M ≤ 100.000
fiecare valoare din vector, cât și fiecare întrebare ≤ 1.000.000 și sunt nenule.

Exemplu:
mdiv.in

8
2 4 2 6 1 9 1 5
3
2
5
3
mdiv.out

4
1
2
Explicație
Numerele divizibile cu 2 sunt 2, 4, 2, 6.

## Cod sursă C++

```cpp
// Todoran Alexandru Raul, clasa a V-a, Colegiul National Aurel Vlaicu Orastie
#include <iostream>
#include <fstream>
using namespace std;
int n,a,x[1000002],r[1000002],m,i,o,s,mx;
int main()
{
    ifstream fin ("mdiv.in");
    ofstream fout ("mdiv.out");
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a;
        if(a>mx)mx=a;
        x[a]++;
    }
    fin>>m;
    for(i=1;i<=m;i++)
    {
        fin>>a;
        if(r[a]==0)
        {
            if(a!=1)
                for(o=0;o<=mx;o+=a)r[a]+=x[o];
            else r[a]=n;
        }
        fout<<r[a]<<"\n";
    }
    return 0;
}
```

## Resurse

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