Pagini recente » Cod sursa (job #2045146) | Cod sursa (job #405780) | Cod sursa (job #2047072) | Cod sursa (job #463018) | Cod sursa (job #2060744)
#include <iostream>
#include <fstream>
using namespace std;
long p[1000000],c[1000000],d[1000000];
long long st=0,dr=-1,sum,s,n,t;
ifstream f("branza.in");
ofstream g("branza.out");
int main()
{
f>>n>>s>>t;
for(int i=0;i<n;i++){
f>>c[i]>>p[i];
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[i]*(c[d[st]]+s*(i-d[st]));
}
g<<sum;
return 0;
}