Pagini recente » Cod sursa (job #2861698) | Cod sursa (job #2137802) | Cod sursa (job #2869484) | Cod sursa (job #2143587) | Cod sursa (job #238077)
Cod sursa(job #238077)
#include<stdio.h>
#define N 100010
struct branza
{
int c,p;
};
branza a[N];
int n,s,t,d[N],p=1,u;
long long rez;
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d%d%d",&n,&s,&t);
for(int i=1; i<=n; ++i)
{
scanf("%d%d",&a[i].c,&a[i].p);
while(p<=u && i-d[p]>t)
++p;
while(p<=u && s*(i-d[u])+a[d[u]].c>=a[i].c)
--u;
d[++u]=i;
rez+=(long long)((a[d[p]].c+s*(i-d[p]))*a[i].p);
}
printf("%lld\n",rez);
return 0;
}