Cod sursa(job #2888905)

Utilizator Bogdan197Putineanu Bogdan Bogdan197 Data 11 aprilie 2022 22:37:21
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <vector>


using namespace std;
int min(int a, int b)
{
	if (a < b)
		return a;
	return b;
}
int main()
{
	ifstream f("branza.in");
	ofstream g("branza.out");
	int nr_saptamani, pret_depozit, timp_expirare;
	f >> nr_saptamani >> pret_depozit >> timp_expirare;
	vector<int> pret;
	vector<int> cantitate;
	int x, y;
	for (int i = 0; i < nr_saptamani; i++)
	{
		f >> x >> y;
		pret.push_back(x);
		cantitate.push_back(y);
	}

	int pret_total = 0;
	int saptamana = 0;
	int saptamani_achitate = 0;
 	while (saptamana != nr_saptamani)
	{

		for (int perioada = saptamana; perioada < min(saptamana + timp_expirare + 1, nr_saptamani); perioada++)
		{
			if(perioada >= saptamani_achitate)
				if(pret[saptamana] + pret_depozit * (perioada - saptamana) <= pret[perioada])
				{
					pret_total += pret[saptamana] * cantitate[perioada] + pret_depozit * cantitate[perioada] * (perioada - saptamana);
					saptamani_achitate++;
				}
				else break;
		}
		saptamana++;
	}													
	g << pret_total;
}