Pagini recente » Borderou de evaluare (job #1796727) | Borderou de evaluare (job #3044650) | Cod sursa (job #721974) | Cod sursa (job #687221) | Cod sursa (job #2306172)
#include <bits/stdc++.h>
using namespace std;
const int NMAX=100000;
int v[NMAX+1],dq[NMAX+1];
int main()
{
int dr,st,n,s,t,i,kg,p,sum;
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
scanf("%d %d %d",&n,&s,&t);
sum=0,st=0,dr=-1;
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
scanf("%d",&p);
if(dq[st]==i-(t+1))
{
++st;
}
while(st<=dr&&v[i]<=(v[dq[dr]]+(i-dq[dr])*s))
{
--dr;
}
dq[++dr]=i;
sum+=p*(v[dq[st]]+(i-dq[st])*s);
}
printf("%d",sum);
return 0;
}