Pagini recente » Cod sursa (job #37187) | Cod sursa (job #2900953) | Cod sursa (job #98862) | Cod sursa (job #3167434) | Cod sursa (job #2888905)
#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;
}