Cod sursa(job #2675946)

Utilizator walentines44Serban Valentin walentines44 Data 22 noiembrie 2020 23:13:29
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.6 kb
#include <iostream>
#include <fstream>

using namespace std;

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

void citire_date(int generatoare[][3], int &nr_generatoare, int &energie_necesara){
    fin >> nr_generatoare;
    fin >> energie_necesara;
    for(int i = 0; i < nr_generatoare; i++){
        for(int j = 0; j < 2; j++){
            fin >> generatoare[i][j];
        }
    }
}

int reparare_centrala(int generatoare[][3], int nr_generatoare, int energie_necesara){
    int total_energie = 0, total_cost = 0, cost_minim = 0;
    for(int i = 0; i < nr_generatoare; i++) {
            if(generatoare[i][0] < energie_necesara){
                total_energie += generatoare[i][0];
                total_cost += generatoare[i][1];
            }
            else{
                total_energie = generatoare[i][0];
                total_cost = generatoare[i][1];
            }
            if (total_energie >= energie_necesara){
                if (cost_minim == 0){
                    cost_minim = total_cost;
                    total_energie = 0;
                    total_cost = 0;
                }
                else if (cost_minim > total_cost){
                    cost_minim = total_cost;
                    total_energie = 0;
                    total_cost = 0;
                }
            }
        }

    return cost_minim;
}


int main() {
    int generatoare[10001][3], nr_generatoare, energie_necesara, cost_minim;

    citire_date(generatoare, nr_generatoare, energie_necesara);
    cost_minim = reparare_centrala(generatoare, nr_generatoare, energie_necesara);
    fout << cost_minim;

    return 0;
}