Pagini recente » Cod sursa (job #231819) | Cod sursa (job #753767) | Cod sursa (job #1839474) | Istoria paginii runda/mnmxmnmxmnmx_what | Cod sursa (job #2405128)
#include <fstream>
#include <deque>
#define val first
#define poz second
using namespace std;
ifstream f("branza.in");
ofstream g("branza.out");
deque < pair <long long, long long> > deq;
long long n, pretdep, zilemax, pret, cant, i, sol;
int main()
{
f>>n>>pretdep>>zilemax;
for( i=1; i<=n; i++){
f >> pret >> cant;
while ( deq.empty()==false && deq.front().val + pretdep*(i-deq.front().poz) >= pret) deq.pop_back();
deq.push_back (make_pair (pret, i));
if(deq.empty()==false && deq.front().poz==i-zilemax) deq.pop_front() ;
sol+=cant*deq.front().val+cant*pretdep*(i-deq.front().poz);
}
g<<sol;
return 0;
}