Cod sursa(job #2405144)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 13 aprilie 2019 23:26:29
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 <int, int> > 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-1)  deq.pop_front() ;
		while ( deq.empty()==false && deq.front().val + pretdep >= pret) deq.pop_front();
		if(deq.empty()==true)deq.push_front (make_pair (pret, i));
		if(deq.front().poz!=i) deq.front().val+=pretdep;
		sol+=cant*deq.front().val;
	}
	g<<sol;
	return 0;
}