Pagini recente » Cod sursa (job #350114) | Cod sursa (job #2687900) | Cod sursa (job #3149581) | Cod sursa (job #1964428) | Cod sursa (job #74670)
Cod sursa(job #74670)
#include <cstdio>
#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()
{
freopen("branza.in", "r", stdin);
freopen("branza.out", "w", stdout);
long long i;
long long need;
scanf("%lld %lld %lld", &n, &s, &t);
qe = 0; qb = 1;
for (i = 1; i <= n; ++i)
{
scanf("%lld %lld", &c[i], &need);
while (qe >= qb && (i-Q[qe])*s + c[Q[qe]] >= c[i]) --qe;
Q[++qe] = i;
if (i-Q[qb] > t) ++qb;
ret += need*(c[Q[qb]] + (i-Q[qb])*s);
}
printf("%lld\n", ret);
return 0;
}