Pagini recente » Cod sursa (job #1593233) | Cod sursa (job #2417499) | Cod sursa (job #630046) | Cod sursa (job #2300923) | Cod sursa (job #1690942)
#include <fstream>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int pret[100001];
int d[100001];
int l, r;
long long suma=0;
int n, s, t, cerere,i;
int main()
{
fin>>n>>s>>t;
l = 1;
r = 0;
for(i = 1; i <= n; ++i)
{
fin>>pret[i]>>cerere;
while(l <= r && pret[i] <= pret[d[r]] + (i - d[r]) * s)
--r;
d[++r] = i;
while(l <= r && i - d[l] > t)
++l;
suma += ( (long long)pret[d[l]] + (i - d[l]) * s) * cerere;
}
fout<<suma;
return 0;
}