Pagini recente » Cod sursa (job #1782837) | Cod sursa (job #2484225) | Cod sursa (job #1755529) | Cod sursa (job #1025935) | Cod sursa (job #2732085)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
deque<long long> pret_minim;
int main()
{
int n, s, t, c, p, k;
long long min = 0;
f >> n >> s >>t;
k = 0;
for (int i=0; i<n; i++)
{
f >> c >> p;
if(i-k+1>t && pret_minim.size()!=0)
{
k++;
pret_minim.pop_front();
}
while(pret_minim.front()+(i-k)*s > c && pret_minim.size()!=0)
{
k++;
pret_minim.pop_front();
}
pret_minim.push_back(c);
min +=(long long) p*(pret_minim.front()+(i-k)*s );
}
g << min;
}