Pagini recente » Cod sursa (job #2719207) | Cod sursa (job #1806559) | Cod sursa (job #586375) | Cod sursa (job #2492798) | Cod sursa (job #210024)
Cod sursa(job #210024)
#include <cstdio>
#include <deque>
using namespace std;
int n,s,t,c,r;
int main() {
freopen("branza.in","rt",stdin);
freopen("branza.out","wt",stdout);
scanf("%d %d %d",&n,&s,&t);
deque< pair<int,int> > d;
long long sum = 0;
for (int i = 0; i < n; ++i) {
scanf("%d %d",&c,&r);
if (!d.empty() && d.front().second == i-t-1) d.pop_front();
for (; !d.empty() && d.back().first + (i-d.back().second)*s >= c; d.pop_back());
d.push_back(make_pair(c,i));
sum += r * (d.front().first + (long long)(i-d.front().second) * s);
}
printf("%lld\n",sum);
return 0;
}