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
Exemplu
Intrare
5 99 1 2 3 4 5 2 25 34
Ieșire
5
Explicație
Efectuând înmulțirile dintre elementele primului șir și ale celui de-al doilea obținem rezultatele: 25
, 34
, 50
, 68
, 75
, 102
, 100
, 136
, 125
, 170
. Dintre acestea 5
sunt mai mici decât 99
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema produs:
#include <iostream>
using namespace std;
int n,m,p,i,a[10001],b[10001],c[10001],nr,poz,x;
int main()
{
cin >> n >> p;
for(i=1;i<=n;i++){cin>>x;a[x]++;};
cin>>m;
for(i=1;i<=m;i++){cin>>x;b[x]++;};
c[0]=b[0];
for(i=1;i<=9999;i++)c[i]=c[i-1]+b[i];
nr=a[0]*m;
for(i=1;i<=9999;i++)
{
poz=(p-1)/i;
if(poz<10000)nr=nr+a[i]*c[poz];
else nr=nr+a[i]*m;
}
cout<<nr;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1010 produs
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1010 produs de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!