Pagini recente » Cod sursa (job #2801631) | Cod sursa (job #3190624) | Cod sursa (job #3203356) | Cod sursa (job #19686) | Cod sursa (job #2888564)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("date.in");
ofstream o("date.out");
int N, S, T, pret_total = 0, k = 0, j = 0, branza = 0;
f>>N>>S>>T;
int lista_cost[N];
int lista_cantitate[N];
int lista_rezolvat[N];
for (int i = 0; i < N; i++) {
f>>lista_cost[i]>>lista_cantitate[i];
lista_rezolvat[i] = 0;
}
for (int i = 0; i < N; i++) {
if (branza > 0) {
branza -= lista_cantitate[i];
} else {
pret_total += lista_cantitate[i] * lista_cost[i];
}
for (int j = i+1; j < i+1+T; j++) {
if (j > N) break;
if (lista_rezolvat[j] == 1) continue;
if (lista_cost[j]*lista_cantitate[j] > lista_cost[i]*lista_cantitate[j] + S * (j-i) * lista_cantitate[j]) {
lista_rezolvat[j] = 1;
branza += lista_cantitate[j];
pret_total += lista_cost[i]*lista_cantitate[j] + S * (j-i) * lista_cantitate[j];
} else {
break;
}
} }
o<<pret_total;
return 0;
}