Pagini recente » Cod sursa (job #782721) | Cod sursa (job #2466655) | Cod sursa (job #2831153) | Cod sursa (job #1043348) | Cod sursa (job #2989840)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int MAXN = 1e5;
int c[MAXN];
int main() {
int n, s, t;
fin >> n >> s >> t;
t++;
long long sum = 0;
deque<int> dq;
for (int i = 0; i < n; ++i) {
int p;
fin >> c [i] >> p;
if (!dq.empty() && dq.front() == i - t)
dq.pop_front();
while (!dq.empty() && c[i] <= c[dq.back()] + s*(i - dq.back()))
dq.pop_back();
dq.push_back(i);
sum += 1LL*p*(c[dq.front()] + s*(i - dq.front()));
}
fout << sum;
return 0;
}