Pagini recente » Cod sursa (job #263443) | Cod sursa (job #1953700) | Cod sursa (job #2376421) | Cod sursa (job #922278) | Cod sursa (job #148014)
Cod sursa(job #148014)
#include <stdio.h>
#include <math.h>
long long aux, i, n, cost, t, first, last, k, nr1, nr2, suma, dq[100010], dqa[100010];
void add() {
aux -= cost;
k = nr1 + aux;
}
int main() {
freopen("branza.in", "r", stdin);
freopen("branza.out", "w", stdout);
scanf("%lld %lld %lld\n", &n, &cost, &t);
dq[1] = 2000000000;
dq[1] = dq[1] * dq[1];
aux = n * cost;
first = 1;
last = 1;
for (i = 1; i <= n; ++i) {
scanf("%lld %lld\n", &nr1, &nr2);
add();
while (dq[last] >= k && first <= last) {
--last;
}
++last;
dq[last] = k;
dqa[last] = i + t + 1;
if (dqa[first] == i) {
++first;
}
suma += (dq[first] - aux) * nr2;
}
printf("%lld\n", suma);
return 0;
}