Pagini recente » Cod sursa (job #1247458) | Cod sursa (job #1250882) | Cod sursa (job #3259068) | Cod sursa (job #1084219) | Cod sursa (job #2742739)
#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;
long long su=0;
for(i=0;i<n;i++){
cin>>x>>y;
a.push_back(pair<long long,long long>(x,y));
if(q.empty()==0 && i-q.front()-1==t){
q.pop_front();
}
while(q.empty()==0 && x<=a[q.back()].first+(i-q.back())*s){
q.pop_back();
}
q.push_back(i);
su+=(a[q.front()].first+(i-q.front())*s)*y;
}
cout<<su;
}