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