Cod sursa(job #1718531)

Utilizator cristicristi8160Cizmar Cristian cristicristi8160 Data 18 iunie 2016 10:02:18
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.5 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int i,g,w,celMaiMic = 10002;
    float mat[3][1001]={0};
    ifstream in("energii.in");
    ofstream out("energii.out");
    in >> g >> w;
    for(i=0;i<g;i++){
        in >> mat[0][i];
        in >> mat[1][i];
        mat[2][i] = mat[0][i]/mat[1][i];
    }
/*
    for(i=0;i<g;i++){
        cout << mat[2][i] << endl;
    }
    cout << endl << "-------------" << endl;
*/
    float v0,v1,v2,schimbari=1;
    while(schimbari==1){
        schimbari=0;
        for(i=0;i<g;i++){
            if(mat[2][i]<mat[2][i+1]){
                //se schimba
                v0=mat[0][i];
                v1=mat[1][i];
                v2=mat[2][i];
                mat[0][i]=mat[0][i+1];
                mat[1][i]=mat[1][i+1];
                mat[2][i]=mat[2][i+1];
                mat[0][i+1]=v0;
                mat[1][i+1]=v1;
                mat[2][i+1]=v2;
                schimbari=1;
            }
        }
    }
/*
    for(i=0;i<g;i++){
        cout << mat[2][i] << endl;
    }
*/
    int energiecurenta=0,pretcurent=0;
    for(i=0;i<g;i++){
        energiecurenta=energiecurenta+mat[0][i];
        pretcurent=pretcurent+mat[1][i];
        if(energiecurenta>=w){
            //cout << endl << "PRET: " << pretcurent;
            out << pretcurent;
            in.close();
            out.close();
            return 0;
        }
    }
    out << "pula";
    in.close();
    out.close();
    return 0;
}