Pagini recente » Profil andrici_cezar | Rating Vic A E (vicae) | Cod sursa (job #2852632) | Cod sursa (job #17876) | Cod sursa (job #3261346)
#include <cstdio>
using namespace std;
#define Nmax 100100
#define v(r) ((long long)c[r] + (n-r)*s)
int c[Nmax], p[Nmax], w[Nmax];
int main()
{
freopen("branza.in","r",stdin);
freopen("branza.out","w",stdout);
int n,s,t;
scanf("%d%d%d",&n,&s,&t);
for (int i=1;i<=n;++i)
scanf("%d%d",&c[i],&p[i]);
int st,dr;
long long ret=0;
st=dr=1;
c[0] = 2114567890;
for (int i=1;i<=n;++i)
{
while(v(w[dr]) > v(i) && st<=dr)
--dr;
w[++dr] = i;
ret += (long long)(v(w[st]) - (n-i)*s)*p[i];
if(w[st] == i-t) ++st;
}
printf("%lld\n", ret);
return 0;
}