Pagini recente » Cod sursa (job #323506) | Cod sursa (job #2321205) | Cod sursa (job #2716959) | Cod sursa (job #916171) | Cod sursa (job #2500023)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
const int NMAX = 100005;
long long a[NMAX],dq[NMAX];
int main()
{
long long n,s,t,st=1,dr=0,sum=0,k,c;
fin >> n >> s >> t;
for(int i=1;i<=n;i++)
{
fin >> a[i] >> c;
while(st<=dr and a[i]<=a[dq[dr]]+(i-dq[dr])*s) dr--;
dq[++dr]=i;
if(dq[st]+t<i) st++;
sum+=a[dq[st]]*c+s*(i-dq[st])*c;
}
fout << sum;
return 0;
}