Cod sursa(job #242946)

Utilizator mika17Mihai Alex Ionescu mika17 Data 11 ianuarie 2009 16:26:55
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
using namespace std;
const int INF = ~(1<<31);
int main()
{
        ifstream fin("energii.in");
        ofstream fout("energii.out");

        int dp[5001],N,S;

        fin>>N>>S;
        for(int i=1;i<=S;++i)
         dp[i] = INF;

        for(int e,c,i=0;i<N;++i) {

                fin>>e>>c;

                for(int t,j=S-1;j>=0;--j)
                 if(dp[j] != INF)
                   dp[(t = e + j > S ? S : e + j)] = min(dp[t],dp[j] + c);
        }
        fout<<(dp[S] != INF ? dp[S] : -1);
}