Pagini recente » Cod sursa (job #1261010) | Cod sursa (job #2446574)
#include <cstdio>
using namespace std;
int deq[100001];
int cost[100001];
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
int n,s,t,i,dor,st,dr;
long long sol;
scanf("%d%d%d",&n,&s,&t);
st=1;dr=0;sol=0;
for(i=1;i<=n;i++)
{
scanf("%d%d",&cost[i],&dor);
if(deq[st]==i-t-1)
st++;
while(st<=dr && cost[i]<=(long long)cost[deq[dr]]+(long long)(i-deq[dr])*s)
dr--;
deq[++dr]=i;
sol+=1LL*dor*((long long)cost[deq[st]]+(i-deq[st])*s);
}
printf("%lld",sol);
return 0;
}