👤

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


Răspuns :

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:

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari