Pagini recente » Cod sursa (job #675162) | Cod sursa (job #2988951) | Cod sursa (job #1706203) | Cod sursa (job #827978) | Cod sursa (job #74668)
Cod sursa(job #74668)
#include <cstdio>
#define Nmax 100005
int n;
long long s, t;
long long c[Nmax];
int Q[Nmax], qe, qb;
long long ret;
int main()
{
freopen("branza.in", "r", stdin);
freopen("branza.out", "w", stdout);
int i;
long long need;
scanf("%d %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]] + (long long)((i-Q[qb]))*s);
}
printf("%lld\n", ret);
return 0;
}