Pagini recente » Cod sursa (job #2729482) | Cod sursa (job #2675558) | Istoria paginii runda/die_hard | Cod sursa (job #625951) | Cod sursa (job #904968)
Cod sursa(job #904968)
#include <fstream>
#include <deque>
using namespace std;
long long n, s, t, a[100010], b[100010], i, sol;
ifstream cin("branza.in");
ofstream cout("branza.out");
deque <int> dq;
int main()
{
cin>>n>>s>>t;
for(i=1;i<=n;++i)
{
cin>>a[i]>>b[i];
while(dq.front()+t<i)
dq.pop_front();
while(!dq.empty() && a[dq.back()]+((i-dq.back())*s)>=a[i])
dq.pop_back();
dq.push_back(i);
sol+=b[i]*(a[dq.front()]+((i-dq.front())*s));
}
cout<<sol<<'\n';
return 0;
}