Cod sursa(job #2888518)

Utilizator Rincu_StefaniaRincu Stefania Rincu_Stefania Data 11 aprilie 2022 15:29:59
Problema Branza Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <deque>

using namespace std;

long long n, k, i, s, x, y, t;
deque <long long> deque1, deque2;

int main()
{
	ifstream in("branza.in");
	ofstream out("branza.out");

	in>>n>>k>>t;

    for(i = 1; i <= n; i++)
    {
        in>>x>>y;
        if(deque1.size() != 0)
           while(i - deque2.front() > t)
           {
                deque1.pop_front();
                deque2.pop_front();
           }
         if(deque1.size() == 0)
            {
                s += x * y;
                deque1.push_back(x);
                deque2.push_back(i);
            }
            else{
                if(x * y < y * deque1.back() + k * (i - deque2.back()) * y)
                    {
                        s += x * y;
                        deque1.push_back(x);
                        deque2.push_back(i);
                    }
                   else
                        s += y * deque1.back() + k * (i - deque2.back()) * y;
            }
    }
	out<<s;
	return 0;
}