Pagini recente » Cod sursa (job #2032761) | Cod sursa (job #1332134) | Cod sursa (job #1145362) | Cod sursa (job #1264958) | Cod sursa (job #3170808)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int cost[100000];
int main()
{
int n, s, t, x_kg;
fin >> n >> s >> t;
t++;
long long rez = 0;
deque<int> dq;
for(int i = 0; i < n; ++i)
{
fin >> cost[i] >> x_kg;
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);
rez = rez + (long long) x_kg * (cost[dq.front()] + ((i-dq.front()) * s));
}
fout << rez;
return 0;
}