Pagini recente » Cod sursa (job #514093) | Cod sursa (job #2316529) | Cod sursa (job #1879478) | Cod sursa (job #2586231) | Cod sursa (job #306174)
Cod sursa(job #306174)
#include <stdio.h>
#define DIM 100005
int c[DIM],p[DIM],m[DIM],dq[DIM];
long long nrt;
int n,s,t;
void read ()
{
int i,x;
scanf ("%d%d%d",&n,&s,&t);
for (i=1; i<=n; ++i)
scanf ("%d%d",&c[i],&p[i]);
}
void solve ()
{
int i,st,dr;
for (i=st=1, dr=0; i<=n; ++i)
{
for ( ;st<=dr && c[i]+(n-i)*s<c[dq[dr]]+(n-dq[dr])*s; --dr);
dq[++dr]=i;
m[i]=c[dq[st]]+(n-dq[st])*s-(n-i)*s;
if (dq[st]==i-t)
++st;
}
}
void print ()
{
int i;
for (i=1; i<=n; ++i)
nrt+=m[i]*p[i];
printf ("%lld",nrt);
}
int main ()
{
freopen ("branza.in","r",stdin);
freopen ("branza.out","w",stdout);
read ();
solve ();
print ();
return 0;
}