Pagini recente » Cod sursa (job #2692260) | Cod sursa (job #688175) | Cod sursa (job #1782164) | Cod sursa (job #1195263) | Cod sursa (job #358061)
Cod sursa(job #358061)
#include<stdio.h>
long long sum;
long s,n,t,poz[100010],cost[100010],deque[100010],c[100010],put[100010];
int main()
{
long i,p=1,u=0;
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%ld%ld%ld",&n,&s,&t);
for (i=1;i<=n;++i)
{
scanf("%ld%ld",&c[i],&put[i]);
cost[i]=c[i]+s*(n-i);
}
for (i=1;i<=n;++i)
{
while(p<=u && cost[i]<cost[deque[u]])
u--;
deque[++u]=i;
if(deque[p]<=i-t)
p++;
poz[i]=deque[p];
}
for (i=1;i<=n;++i)
{
sum=(long long)sum+put[i]*(c[poz[i]]+(i-poz[i])*s);
}
printf("%lld",sum);
return 0;
}