Cod sursa(job #1168071)

Utilizator tudormaximTudor Maxim tudormaxim Data 6 aprilie 2014 20:35:37
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int main()
{
    int n,w,i,j,E[1001],C[1001],a[5001],b[5001];
    in>>n>>w;
    for(i=1;i<=n;i++)
    in>>E[i]>>C[i];

    for(i=1;i<=w;i++)
    b[i]=1000000;

    for(i=1;i<=n;i++)
    {
        for(j=1;j<=w;j++)
        {
            if(E[i]>=j) a[j]=min(C[i],b[j]);
            else a[j]=min(b[j],b[j-E[i]]+C[i]);
        }
    for(j=1;j<=w;j++) b[j]=a[j];
    }

    if(a[w]==1000000)
        out<<-1;
    else
        out<<a[w];

}