Pagini recente » Cod sursa (job #163876) | Profil valkir69 | Cod sursa (job #1342616) | Cod sursa (job #1796359) | Cod sursa (job #133353)
Cod sursa(job #133353)
#include <stdio.h>
long n,i,s,t,c[100002],p[100002];
long que[100002],poz[100002],m[100002],s1,s2;
long long sol;
int main(){
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],&p[i]);
s1=1;s2=0;
for (i=1;i<=n;i++){
while (que[s2]+s*(i-poz[s2])>c[i]&&s2>=s1)s2--;
s2++;
que[s2]=c[i];
poz[s2]=i;
while (i-poz[s1]>t&&s1<s2)s1++;
m[i]=que[s1]+(i-poz[s1])*s;
}
for (i=1;i<=n;i++)
sol+=m[i]*p[i];
printf("%ld\n",sol);
return 0;
}