Pagini recente » Cod sursa (job #2254531) | Monitorul de evaluare | Cod sursa (job #2823966) | Monitorul de evaluare | Cod sursa (job #2176044)
#include <fstream>
#include <iostream>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
long long d[100001],v[100001],n,k,s;
int main()
{
in >> n >> s >> k;
long long i,c,st=1,dr=0,suma=0;
for (i=1;i<=n;++i)
{
in >> v[i] >> c;
if (st <=dr && d[st]==i-k)
st++;
while (st<=dr && v[i]<=v[d[dr]]+s*(i-d[dr]))
dr--;
d[++dr]=i;
suma+=c*(v[d[st]]+s*(i-d[st]));
}
out << suma;
return 0;
}