Pagini recente » Cod sursa (job #1739283) | Cod sursa (job #771915) | Cod sursa (job #3341217) | Cod sursa (job #1319150) | Cod sursa (job #3310303)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main() {
ifstream fin("branza.in");
ofstream fout("branza.out");
int N, T;
unsigned long long int S;
fin >> N >> S >> T;
vector<int> cerere(N);
vector<unsigned long long int> cost(N);
for(int i=0; i<N; ++i) {
fin >> cost[i] >> cerere[i];
}
for(int i=N-1; i>=0; --i) {
unsigned long long int c = cost[i];
for(int j=1; i+j<N && j<T; ++j) {
c += S;
//cout << c << '\n';
if(c < cost[i+j]) {
cost[i+j] = c;
} else {
break;
}
}
}
unsigned long long int suma = 0;
for(int i=0; i<N; ++i) {
suma += 1ULL * cost[i] * cerere[i];
}
fout << suma << '\n';
return 0;
}