Cod sursa(job #1090906)

Utilizator cristalCiurdarean Andrei cristal Data 23 ianuarie 2014 11:28:42
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 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];
        c[0] = true;
        r[0] = 0;
	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 = 0; i <= 2*G; i++ )
        if ( c[i] && i >= G )
        {
            os << r[i];
            break;
        }

    is.close();
    os.close();
    return 0;
}