Pagini recente » Cod sursa (job #1540365) | Cod sursa (job #1125209) | Cod sursa (job #2739661) | Cod sursa (job #2612275) | Cod sursa (job #1537776)
#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);
if(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";
}