Pagini recente » Cod sursa (job #582970) | Cod sursa (job #2194723) | Cod sursa (job #1456242) | Cod sursa (job #2908393) | Cod sursa (job #1537777)
#include<fstream>
#include<iostream>
#include<vector>
#include <cstring>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque <long long int> d;
long long int n,m,k,i,j,p,x,y,a[100005],t,s,sol;
int main()
{
fin>>n>>s>>t;
for(i=1;i<=n;i++)
{
fin>>a[i]>>p;
while(!d.empty() && a[d.back()] + s*(i-d.back()) > a[i]){
d.pop_back();
}
d.push_back(i);
while(i-d.front() > t)
{
d.pop_front();
}
sol=sol+ ( a[d.front()] + s * (i-d.front()) )*p;
}
fout<<sol<<"\n";
}