Pagini recente » Cod sursa (job #817459) | Cod sursa (job #2730963) | Cod sursa (job #803347) | Cod sursa (job #2127115) | Cod sursa (job #3127428)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f ("branza.in");
ofstream g ("branza.out");
int c[1000001],p[1000001];
long long dr,cost;
int main()
{
int N,S,T;
f>>N>>S>>T;
++T;
long long m,st=1;
for (int i=1;i<=N;++i)
{
f >>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]));
}
g<<cost;
return 0;
}