Pagini recente » Cod sursa (job #2494214) | Cod sursa (job #1890568) | Cod sursa (job #523909) | Cod sursa (job #1300864) | Cod sursa (job #2731838)
#include <iostream>
#include <fstream>
using namespace std;
#define Nmax 100005
long long n;
long long s, t;
long long c[Nmax];
long long Q[Nmax], qe, qb;
long long ret;
int main() {
ifstream fin("branza.in");
ofstream fout("branza.out");
long long i;
long long p;
fin >> n >> s >> t;
qe = 0;
qb = 1;
for (i = 1; i <= n; ++i) {
cin >> c[i] >> p;
while (qe >= qb && (i - Q[qe]) * s + c[Q[qe]] >= c[i]) --qe;
Q[++qe] = i;
if (i - Q[qb] > t) ++qb;
ret += p * (c[Q[qb]] + (i - Q[qb]) * s);
}
fout << ret;
return 0;
}