Pagini recente » Cod sursa (job #888860) | Cod sursa (job #1314134) | Cod sursa (job #2621789) | Cod sursa (job #169759) | Cod sursa (job #3170805)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
deque<pair<long long,long long> > pret;
int main()
{
int n,s,t,i;
long long ans=0;
cin>>n>>s>>t;
for(i=1;i<=n;i++)
{
long long cost,cate;
cin>>cost>>cate;
while(!pret.empty() and cost<pret.back().first+(i-pret.back().second)*s)
pret.pop_back();
pret.push_back(make_pair(cost,i));
while(!pret.empty() and i-pret.front().second>t)
pret.pop_front();
ans+=pret.front().first*cate+((long long)i-pret.front().second)*s*cate;
}
cout<<ans;
}