Cod sursa(job #2405123)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 13 aprilie 2019 22:51:33
Problema Branza Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#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;
		if(deq.empty()==false && deq.front().poz==i-zilemax)  deq.pop_front() ;
		while ( deq.empty()==false && deq.front().val + pretdep*(i-deq.front().poz) >= pret) deq.pop_front();
		if(deq.empty()==true)deq.push_front (make_pair (pret, i));
		sol+=cant*deq.front().val+cant*pretdep*(i-deq.front().poz);
	}
	g<<sol;
	return 0;
}