Cod sursa(job #242937)

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

        int dp[5001],aux[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;
                memcpy(aux,dp,sizeof aux);

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

                memcpy(dp,aux,sizeof dp);
        }
        fout<<dp[S];
}