Cod sursa(job #1275236)

Utilizator RazvanPGAtanasov Mihai Razvan RazvanPG Data 24 noiembrie 2014 21:37:40
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream fin("energii.in");
ofstream fout("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 ) fout << "-1"; else fout << c[S];
}
void Read()
{
    fin >> n >> S;
    for( int i = 1; i <= n; ++i ) fin >> g[i] >> v[i];
}