Cod sursa(job #1090925)

Utilizator cristalCiurdarean Andrei cristal Data 23 ianuarie 2014 11:45:22
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
using namespace std;

ifstream is("energii.in");
ofstream os("energii.out");

int n, G, v[10001], g[10001],w;
bool c[10001];
int r[10001];

int main()
{
    is >> n >> G;
    for ( int i = 1; i <= n; i++ )
        is >> v[i] >> g[i], w += v[i];
        c[0] = true;
	for ( int i = 1; i <= n; ++i )
		for ( int j = G; j >= 0; --j )
		{
		    if ( c[j] )
		    {
                c[j + v[i]] = true;
                r[j + v[i]] = r[j] + g[i];
		    }
		}
    for ( int i = G; i <= 10001 ; i++ )
    {
        if ( c[i] && i >= G )
        {
            os << r[i] << " ";
            break;
        }
        if ( i == 10001 )
            os << "-1";
    }
    is.close();
    os.close();
    return 0;
}