Pagini recente » Cod sursa (job #1849424) | Cod sursa (job #184291) | Cod sursa (job #1113072) | Cod sursa (job #2734931) | Cod sursa (job #2063882)
#include <fstream>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
int d[100001],v[100001],c[100001];
int main()
{
int n,s,t,i,st =0,dr=-1;
cin >> n >> s >> t;
t++;
long long sum = 0;
for(i=0; i<n; i++)
{
cin >> v[i] >> c[i];
if(st<=dr && d[st] == i-t)
{
st++;
}
while(st<=dr && v[i] <= v[d[dr]] + s * (i - d[dr])){
dr--;
}
d[++dr] = i;
sum = sum + c[i] * (v[d[st]] + ((long long)s * (i - d[st])));
}
cout << sum;
return 0;
}