Pagini recente » Cod sursa (job #44633) | Cod sursa (job #1154007) | Cod sursa (job #343816) | Cod sursa (job #2984059) | Cod sursa (job #2732121)
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
deque<long long> d;
int main()
{
ifstream f("branza.in");
ofstream g("branza.out");
int n,s,t, pret = 0, c[100000] = {0},p[100000] = {0};
f>>n>>s>>t;
for(int i=0; i<n; i++)
{
f>>c[i]>>p[i];
while(d.empty() == 1 && c[d.back()] + (i - d.back()) * s >= c[i])
d.pop_back();
while(d.empty() == 1 && (i - d.front()) > t)
d.pop_front();
d.push_back(i);
pret += c[d.front()] * p[i] + p[i] * (i - d.front()) * s;
}
g<<pret;
return 0;
}