Răspuns :
#include<fstream>
#include<algorithm>
using namespace std;
int v[10001];
ifstream fin("divizori1.in");
ofstream fout("divizori1.out");
int n;
int f(int x){
int st = 1,dr = n;
while(st <= dr)
{
int mid = (st +dr)/2;
if(v[mid]>x)
dr = mid-1;
else if(v[mid] < x)
st = mid + 1;
else return mid;
}
return -1;
}
int main()
{
int q;
fin >> n >> q;
for(int i = 1;i<=n;i++)
{
fin >> v[i];
}
sort(&v[1],&v[n+1]);
int x;
for(int i = 0;i<q;i++)
{
fin >> x;
int div=0;
for(int j = 1;j<=x; j++){
if(x%j==0&&f(j)!=-1)
div++;
}
fout << div << "\n";
}
fout.close();
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.