Informatică, întrebare adresată de bogdanleague, 9 ani în urmă

Cerința
Se dau două șiruri cu câte n, respectiv m elemente. Dacă înmulțim fiecare element din primul șir cu fiecare element din al doilea șir, să se afle câte produse sunt mai mici decât p.

Date de intrare
Programul citește de la tastatură numerele n și p, iar apoi n numere naturale, separate prin spații, reprezentând elementele primului șir, după care citește numărul m urmat de m numere naturale, reprezentând elementele celui de-al doilea șir.

Date de ieșire
Programul va afișa pe ecran numărul nr, reprezentând numărul produselor mai mici decât p.

Restricții și precizări
1 ≤ p ≤ 200.000
1 ≤ n , m ≤ 50.000
elementele celor două șiruri sunt numere naturale mai mici decât 10.000

Răspunsuri la întrebare

Răspuns de CancerousKiddo
10
#include<iostream>int n,m,p,v[10001],s,u[10001];int main(){    std::cin>>n>>p;    for(int i=1;i<=n;++i)    {        int a;        std::cin>>a;        v[a]++;    }    std::cin>>m;    for(int i=1;i<=m;++i)    {        int a;        std::cin>>a;        u[a]++;    }    for(int i=0;i<10000;++i)    {        if(v[i]!=0)            for(int j=0;j<10000;++j)            {                if(i*j>=p)                    break;                s+=v[i]*u[j];            }    }    std::cout<<s;}
Alte întrebări interesante