Pagini recente » Cod sursa (job #2117263) | Cod sursa (job #2506663) | Cod sursa (job #1782886) | Cod sursa (job #993149) | Cod sursa (job #3170818)
#include <bits/stdc++.h>
using namespace std;
ifstream in("branza.in");
ofstream out("branza.out");
int main()
{
int n,s,t;
in>>n>>s>>t;
vector<int> cost(n);
long long cost_total=0;
t++;
deque <int> dq;
for(int i=0;i<n;i++)
{
int cantitate;
in >> cost[i] >> cantitate;
if(!dq.empty()&&dq.front()==i-t)
dq.pop_front();
while(!dq.empty()&&cost[i]<=cost[dq.back()]+(i-dq.back())*s)
dq.pop_back();
dq.push_back(i);
cost_total+=(long long) cantitate*(cost[dq.front()]+(i-dq.front())*s);
}
out<<cost_total;
return 0;
}