Pagini recente » Cod sursa (job #3235200) | Cod sursa (job #842028) | Cod sursa (job #2396479) | Cod sursa (job #2532466) | Cod sursa (job #2731698)
#include <fstream>
#include <vector>
#include <queue>
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;
queue<long long> q;
cin>>n>>s>>t;
long long v=0;
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();
}
while(q.empty()==0 && x<=a[q.front()].first+(i-q.front())*s){
q.pop();
}
if(q.empty()==1){
su+=x*y;
}
else{
su+=(a[q.front()].first+(i-q.front())*s)*y;
}
q.push(i);
}
cout<<su;
}