Cod sursa(job #1274999)

Utilizator Corina1997Todoran Ana-Corina Corina1997 Data 24 noiembrie 2014 17:29:24
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define INF 0x3f3f3f3f
using namespace std;

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

int g[1001], v[1001], c[100001];

int n, S;
void Read();

int main()
{
    Read();
    for( int i = 1; i <= S; ++i )
        c[i] = INF;
    for( int i = 1; i <= n; ++i )
        for( int j = S; j >= 1; --j )
        {
            if( j < g[i] )
                c[j] = min( v[i], c[j] );
            else
                c[j] = min( c[ j - g[i] ] + v[i], c[j] );
        }
    if( c[S] == INF )
        os << "-1";
    else
        os << c[S];
}

void Read()
{
    is >> n >> S;
    for( int i = 1; i <= n; ++i )
        is >> g[i] >> v[i];
}