Pagini recente » Cod sursa (job #1654590) | Cod sursa (job #1116748) | Cod sursa (job #1337386) | Cod sursa (job #1265963) | Cod sursa (job #2913876)
#include <fstream>
#include <cmath>
#include <vector>
#include <list>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
vector <long long> v;
list <long long> l;
int main()
{
long long n,s,t,a,b,sum=0;
cin>>n>>s>>t;
for(long long i=0;i<n;i++)
{
cin>>a>>b;
v.push_back(a);
while(l.empty()==0&&v[l.back()]+i*s-l.back()*s>=v[i])
l.pop_back();
l.push_back(i);
if(i-l.front()+1>t)
l.pop_front();
sum+=(v[l.front()]+(i-l.front())*s)*b;
}
cout<<sum;
return 0;
}