Cerința
Gigel trebuie să cumpere n produse, pentru fiecare produs cunoscându-se cantitate necesară. În oraș sunt m magazine, în fiecare magazin găsindu-se produsele dorite la anumite prețuri. Determinați suma totală minimă necesară pentru a cumpăra produsele dorite, știind că Gigel trebuie să cumpere toate produsele din același magazin.
Date de intrare
Programul citește de la tastatură, în ordine:
numărul de produse n
n numere naturale, reprezentând cantitățile necesare din fiecare produs
numărul de magazine m
m șiruri de câte n numere, șirul i conținând în ordine prețurile celor n produse la magazinul i. Dacă la un magazin nu există un anumit produs, valoarea prețului va fi -1
Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma minimă determinată.
Restricții și precizări
1 ≤ n , m ≤ 100
cantitățile necesare sunt numere naturale nenule mai mici sau egale cu 1000
prețurile produselor sunt numere naturale nenule mai mici sau egale cu 1000, sau -1, cu semnificația de mai sus
trebuie cumpărate toate produsele, din același magazin
robertgaube:
Ce limbaj folosesti ?
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int v[105], a[105][105], n ,m;
int main(){
cin >> n;
for(int i = 1 ; i <= n ; ++i)
cin >> v[i];
cin >> m;
for(int i = 1 ; i <= m ; ++i)
for(int j = 1 ; j <= n ; ++j)
cin >> a[i][j];
int smin = 1000 * 1000 * 100 + 5;
for(int i = 1 ; i <= m ; ++i)
{
bool ok = true;
for(int j = 1 ; j <= n ; ++j)
if(a[i][j] == -1)
ok = false;
if(ok)
{
int s = 0;
for(int j =1 ; j <= n ; ++j)
s += a[i][j] * v[j];
if(s < smin)
smin = s;
}
}
cout << smin;
return 0;
}
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Franceza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă