Pagini recente » Cod sursa (job #1943673) | Cod sursa (job #700712) | Borderou de evaluare (job #610445) | Cod sursa (job #840301) | Cod sursa (job #2366346)
#include <bits/stdc++.h>
using namespace std;
int c[100010];
deque<int>d;
int n,s,t,i,x,y;
long long total;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d%d%d",&n,&s,&t);
for (i=1;i<=n;i++){
scanf("%d%d",&x,&y);
c[i]=x;
while (!d.empty()&&(c[d.back()]+s*(i-d.back())>c[i])) d.pop_back();
d.push_back(i);
while (i-d.front()>t&&!d.empty()) d.pop_front();
total+=1LL*(c[d.front()]+s*(i-d.front()))*y;
}
printf("%lld",total);
return 0;
}