Pagini recente » Cod sursa (job #322359) | Profil mihnea.anghel | Cod sursa (job #1764154) | Cod sursa (job #527099) | Cod sursa (job #2500437)
#include <cstdio>
#include <deque>
using namespace std;
const int NMAX = 100005;
long long c[NMAX];
long long p[NMAX];
deque <long long> dq;
int main() {
long long n, s, t;
freopen("branza.in", "r", stdin);
freopen("branza.out", "w", stdout);
scanf("%lld%lld%lld", &n, &s, &t);
long long sol = 0;
for(long long i = 1; i <= n; i++) {
scanf("%lld%lld", &c[i], &p[i]);
while(!dq.empty() && c[dq.back()] + (i - dq.back()) * s >= c[i]) {
dq.pop_back();
}
while(!dq.empty() && i - dq.front() > t) {
dq.pop_front();
}
dq.push_back(i);
sol += p[i] * (c[dq.front()] + (i - dq.front()) * s);
}
printf("%lld\n", sol);
return 0;
}