Pagini recente » Cod sursa (job #117994) | Cod sursa (job #1388251) | Cod sursa (job #595502) | Cod sursa (job #1999464) | Cod sursa (job #2060754)
#include<fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int c[100001],d[100001];
int main()
{
long long st=0,dr=-1,p,n,s,sum=0,t;
fin>>n>>s>>t;
t++;
for(int i=1;i<=n;i++)
{
fin>>c[i]>>p;
if(st<=dr&&d[st]==i-t) st++;
while(st<=dr&&c[i]<=c[d[dr]]+s*(i-d[dr])) dr--;
d[++dr]=i;
sum+=p*(c[d[st]]+s*(i-d[st]));
}
fout<<sum;
return 0;
}