Pagini recente » Cod sursa (job #3001086) | Borderou de evaluare (job #2679968) | Cod sursa (job #2668892) | Cod sursa (job #1252422) | Cod sursa (job #2731704)
#include <fstream>
#include <vector>
#include <deque>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
int main(){
long long n, s, t, i, x, y;
vector<pair<long long, long long>> a;
deque<long long> q;
cin>>n>>s>>t;
t++;
long long su=0;
for(i=0;i<n;i++){
cin>>x>>y;
a.push_back(pair<long long,long long>(x,y));
while(q.empty()==0 && i-q.front()==t){
q.pop_front();
}
while(q.empty()==0 && x<=a[q.front()].first+(i-q.front())*s){
q.pop_back();
}
q.push_back(i);
su+=(a[q.front()].first+(i-q.front())*s)*y;
}
cout<<su;
}