Cod sursa(job #1698515)

Utilizator alex90001alex ilioi alex90001 Data 4 mai 2016 17:28:28
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

int ge,v[100][100];

int sortare(int v[100][100])
{
    int aux,ok;
    do
    {
        ok=1;
        for(int i=1;i<ge;i++)
            if(v[i][1]<v[i+1][1])
                {
                    aux=v[i][1];
                    v[i][1]=v[i+1][1];
                    v[i+1][1]=aux;
                    aux=v[i][2];
                    v[i][2]=v[i+1][2];
                    v[i+1][2]=aux;
                    ok=0;
                }
    }while(ok!=1);
    do
    {
        ok=1;
    for(int i=1;i<ge;i++)
        if(v[i][1]==v[i+1][1])
            if(v[i][2]>v[i+1][2])
                {
                    v[i][2]=v[i+1][2];
                    v[i+1][2]=aux;
                    ok=0;
                }
    }while(ok!=1);
}
int main()
{
    int w,s=0,s1=0;
    f>>ge>>w;
    for(int i=1;i<=ge;i++)
        f>>v[i][1]>>v[i][2];
    for(int i=1;i<=ge;i++)
        s=s+v[i][1];
    if(s<w) g<<-1;
    else
    {
        s=0;
        int i=1;
        sortare(v);
        while(s<w)
        {
            s=s+v[i][1];
            s1=s1+v[i][2];
            i++;
        }
        g<<s1;
    }
}