Cod sursa(job #1223805)

Utilizator Narcis_NeculaNecula Narcis Narcis_Necula Data 28 august 2014 21:30:28
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define limit 21113
#define INF 0x3f3f3f3
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,w,i,j,sol(INF),S_T(0);
int D[limit],E[limit],K[limit];
int main()
{
    cin>>n>>w;
    for
    (i=1;i<=n;++i)
    cin>>E[i]>>K[i],
    S_T+=E[i];
    if (S_T<w)
    cout<<"-1";
    else
    {
        for
        (i=1;i<=limit;++i)
        D[i]=INF;
        for
        (i=1;i<=n;++i)
        for (j=w;j>=0;--j)
        if (D[j]!=INF)
        D[j+E[i]]=min(D[j+E[i]],D[j]+K[i]);
        for (i=w;i<=limit;++i)
        sol=min(sol,D[i]);
        cout<<sol<<"\n";
    }
        return 0;
}