// funkcija, kuri suskaičiuoja kiek nurodytos talpos ir kiekio indų
// bus užpildyta pilnai ir koks bus aliejaus likutis
/* į toliau esantį laukelį Stdin Inputs... nukopijuokite duomenis
==== 1-as duomenų variantas
1 8 5 156
256 5 7 9
==== 2-as duomenų variantas
1 2 2 156
156 4 7 9
==== 3-as duomenų variantas
1 2 35 156
356 4 7 9
*/
#include <iostream>
using namespace std;
void pilstytiAlieju(int talpa, int kiekis, int& pilni, int& likutis) {
pilni = min(likutis / talpa, kiekis);
likutis -= pilni * talpa;
}
int main() {
freopen ("U1.txt","r",stdin);
//freopen ("U1rez.txt","w",stdout);
int kiekis1, kiekis3, kiekis5, likutis, likutis2;
int islaidos, kaina1, kaina3, kaina5;
int pilni1, pilni3, pilni5;
int priedai1, priedai3, priedai5;
cin >> kiekis1 >> kiekis3 >> kiekis5 >> likutis;
cin >> islaidos >> kaina1 >> kaina3 >> kaina5;
// pilstome į duotus pradinius indus
pilstytiAlieju(5, kiekis5, pilni5, likutis);
pilstytiAlieju(3, kiekis3, pilni3, likutis);
pilstytiAlieju(1, kiekis1, pilni1, likutis);
likutis2 = likutis;
// pilstome papildomai be jokių apribojimų kiekiui
pilstytiAlieju(5, 1000, priedai5, likutis2);
pilstytiAlieju(3, 1000, priedai3, likutis2);
pilstytiAlieju(1, 1000, priedai1, likutis2);
int pelnas = (pilni1 + priedai1) * kaina1 +
(pilni3 + priedai3) * kaina3 +
(pilni5 + priedai5) * kaina5 - islaidos;
// spausdiname 11 suskaičiuotų rezultatų 4-iose eilutėse :-)
cout << pilni1 <<" "<< pilni3 <<" "<< pilni5 <<" "<< likutis <<endl;
cout << kiekis1-pilni1<<" "<< kiekis3-pilni3 <<" "<< kiekis5-pilni5 <<endl;
cout << priedai1 <<" "<< priedai3 <<" "<< priedai5 <<endl;
cout << pelnas;
}
1 2 35 156
356 4 7 9
1 8 5 156
256 5 7 9
==== 2-as duomenų variantas
1 2 2 156
156 4 7 9
==== 3-as duomenų variantas
1 2 35 156
356 4 7 9