Pagini recente » Cod sursa (job #358283) | Cod sursa (job #280004) | Cod sursa (job #332729) | Cod sursa (job #1459558) | Cod sursa (job #2322085)
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int st,dr,i,n,k,v[100001],dq[100001],s,p;
long long sum;
int main()
{
st=0;
dr=-1;
fin>>n>>s>>k;
for(i=1; i<=n; ++i)
{
fin>>v[i]>>p;
if(st<=dr&&dq[st]==i-k)
st++;
while(st<=dr&&v[i]<=v[dq[dr]]+s*(i-dq[dr]))
dr--;
dq[++dr]=i;
sum+=(v[dq[st]]+s*(i-dq[st]))*p;
}
fout<<sum;
}