Cod sursa(job #3320935)

Utilizator vicvicGriga Victor-Cristian vicvic Data 7 noiembrie 2025 18:24:21
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream f ("branza.in");
ofstream g ("branza.out");
const int NMAX=1e5;
deque <int> coada;
int n, c[NMAX+5], qnt[NMAX+5], blud[NMAX+5], tax, tme; /// blud e cost per kg fata de ziua curenta
signed main ()
{
    f >> n >> tax >> tme;
    for (int i=1;i<=n;i++)
        f >> c[i] >> qnt[i], blud[i]=-i*tax+c[i];
    int sum=0;
    for (int i=1;i<=n;i++)
    {
        while (!coada.empty() && coada.front()<i-tme)
            coada.pop_front ();
        while (!coada.empty() && blud[coada.back()]>=blud[i])
            coada.pop_back ();
        coada.push_back (i);
        sum+=(blud[coada.front()]+i*tax)*qnt[i];
    }
    g << sum;
    return 0;
}