Pagini recente » Cod sursa (job #1616412) | Cod sursa (job #2093634) | Cod sursa (job #1381798) | Cod sursa (job #2516712) | Cod sursa (job #251858)
Cod sursa(job #251858)
#include<stdio.h>
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
const int N=100001;
int n,s,t,i;
long long sum=0;
int deque[N],start,end;
int c[N], p[N];
scanf("%d%d%d",&n,&s,&t);
for(i=1;i<=n;++i)
scanf("%d%d",&c[i],&p[i]);
start=1; end=0;
for(i=1;i<=n;++i)
{
if(deque[start]==i-t-1) ++start;
while(start<=end && c[deque[end]]+s*(i-deque[end])>=c[i]) --end;
deque[++end]=i;
sum+=p[i]*(c[deque[start]]+s*(i-deque[start]));
}
printf("%lld",sum);
return 0;
}