Pagini recente » Cod sursa (job #3310406) | Cod sursa (job #1749088) | Cod sursa (job #3349744) | Cod sursa (job #3326774) | Cod sursa (job #3320988)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque <int>deq;
long long n,k,c[100005],p[100005],s,t;
long long sum=0;
int main()
{
cin>>n>>s>>t;
for(int i=1;i<=n;i++)
{
cin>>c[i]>>p[i];
}
for(int i=1;i<=n;i++)
{
long long cost_rel=c[i]-s*i;
while(!deq.empty() && c[deq.back()]-s*deq.back()>=cost_rel)
deq.pop_back();
deq.push_back(i);
if(deq.front()<i-t)
deq.pop_front();
sum+=(c[deq.front()]+s*(i-deq.front()))*p[i];
}
cout<<sum;
return 0;
}