Pagini recente » Cod sursa (job #2614487) | Cod sursa (job #567317) | Cod sursa (job #204200) | Cod sursa (job #1500151) | Cod sursa (job #3126822)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int main()
{
long long c[1000005],p[1000005];
int n,s,t;
fin >> n >> s >> t;
t++;
long long i,m,st=1,dr=0,cost=0;
for (i=1;i<=n;++i)
{
fin >>p[i] >> m;
if (st <=dr && c[st]==i-t)
st++;
while (st<=dr && p[i]<=p[c[dr]]+s*(i-c[dr]))
dr--;
c[++dr]=i;
cost+= m*(p[c[st]]+s*(i-c[st]));
}
fout << cost;
fin.close();
fout.close();
return 0;
}