Cod sursa(job #2889629)

Utilizator Stefan_BerlinschiStefan-Cristian Berlinschi Stefan_Berlinschi Data 12 aprilie 2022 23:49:29
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>

using namespace std;
	
// ifstream fin("intrare.txt");	
// ofstream fout("iesire.txt");

ifstream fin("branza.in");
ofstream fout("branza.out");

int main() {
	
    int n, s, t, cost_minim = 0;
    fin >> n >> s >> t;
	
    deque<pair<int, int> >deq;
    deque<pair<int, int>>::reverse_iterator it;
    int c, q, cost, nr_sapt;   // cost, cantitate
	
    for (int i = 0; i < n; i++) {
        fin >> c >> q;
        deq.push_back({c, q});
	
        if (i > t)
            deq.pop_front();
	
        cost = c;
        it = deq.rbegin();
        nr_sapt = 0;

        while (it != deq.rend()) {
            if ((*it).first + nr_sapt * s < cost)
                cost = (*it).first + nr_sapt * s;
            it ++;
            nr_sapt ++;
        }
	
        cost_minim += cost * q;
        // fout << "Saptamana " << i+1 << ": " << cost << '\n';
	
    }
	
    fout << cost_minim;
    return 0;
	
}