Pagini recente » Cod sursa (job #2342538) | Cod sursa (job #663415) | Cod sursa (job #668132) | Cod sursa (job #1106311) | Cod sursa (job #1537772)
#include<fstream>
#include<iostream>
#include<vector>
#include <cstring>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
deque <int> d;
int n,m,k,i,j,p,x,y,a[100005],t,s;
long long int 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.front() < i - t
{
d.pop_front();
}
sol=sol+ (a[d.front()]+s*(i-d.front()) )*p;
//fout<<a[i]<<" "<<p<<"\n";
}
fout<<sol<<"\n";
}