Informatică, întrebare adresată de ultraviolet2455, 8 ani în urmă

#527 Preturi1
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ăspunsuri la întrebare

Răspuns de pmarian98
0

Răspuns:

#include <iostream>

using namespace std;

 

const int dm = 101;

int n, m, cant[dm], magazine[dm][dm];

int main() {

 cin >> m;

 for (int i = 0; i < m; i++)

   cin >> cant[i];

 cin >> n;

 for (int i = 0; i < n; i++)

   for (int j = 0; j < m; j++)

     cin >> magazine[i][j];

 long long mini = 100000000;

 for (int i = 0; i < n; i++) {

   bool nueste = true;

   int S = 0;

   for (int j = 0; j < m && nueste; j++) {

     if (magazine[i][j] == -1)

       nueste = false;

     S += magazine[i][j] * cant[j];

   }

   if (nueste && S < mini)

     mini = S;

 }

 cout << mini;

 return 0;

}

Explicație:

Alte întrebări interesante