Pagini recente » Cod sursa (job #1994400) | Cod sursa (job #1454042) | Cod sursa (job #1009643) | Istoria paginii runda/simulare-cartita-21/clasament | Cod sursa (job #209429)
Cod sursa(job #209429)
#include <stdio.h>
int n,s,t,i,j,c[100010],p[100010],d[100010],a[100010],st,fi;
long long sol;
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",&c[i],&p[i]);
d[1]=c[1];
a[1]=1;
st=1; fi=1;
sol=c[1]*p[1];
for (i=2; i<=n; ++i)
{
while (c[i]<c[a[fi]]+(i-a[fi])*s && fi>=st) --fi;
a[++fi]=i;
if (t<i-a[st]) ++st;
sol+=(c[a[st]]+(i-a[st])*s)*p[i];
}
printf("%lld\n",sol);
return 0;
}