# PBinfo #526 – Preturi – Rezolvare C++

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

## Enunț

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ă poate cumpăra orice produs din orice 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

Exemplu:
Intrare

5
4 4 5 1 2
3
 5 8 6 -1 6
-1 4 8  9 5
 6 6 8  3 9
Ieșire

79
Explicație
Din magazinul 1 se cumpără produsele 1 3; din magazinul 2 se cumpără produsele 2 5, iar din magazinul 3 se cumpără produsul 4. 
În total se plătesc 4 * 5 + 4 * 4 + 5 * 6 + 1 * 3 + 2 * 5 = 79.

## Cod sursă C++

```cpp
#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 s = 0;
	for(int i = 1; i <= n ; ++i)
	{
		int pmin = 1005;
		for(int j = 1 ; j <= m ; ++j)
			if(a[j][i] != -1)
				if(a[j][i] < pmin)
					pmin = a[j][i];
		s += pmin * v[i];
	}
	cout << s;
	return 0;
}
```

## Resurse

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