Pagini recente » Cod sursa (job #783390) | Cod sursa (job #2617574) | Cod sursa (job #1711215) | Cod sursa (job #1737399) | Cod sursa (job #2610337)
#include <cstdio>
using namespace std;
int d[100002],v[100002];
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
int st,dr,n,t,s,c;
long long pr=0;
scanf("%d%d%d",&n,&s,&t);
st=0;
dr=-1;
t++;
for(int i=0;i<n;i++){
scanf("%d%d",&v[i],&c);
if(st<=dr&&d[st]==i-t){
st++;
}
while(st<=dr&&v[d[dr]]+(i-d[dr])*s>=v[i]){
dr--;
}
d[++dr]=i;
pr+=(long long)c*((long long)v[d[st]]+(long long)(i-d[st])*(long long)s);
}
printf("%lld",pr);
return 0;
}