Cod sursa(job #1150342)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 22 martie 2014 21:20:20
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <cstdio>

using namespace std;
int Putere[10001],Cost[10001],Val[10001],s,i,N,W,sc,j;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    cin>>N>>W;
    for(i=1;i<=N;i++)
    {
        cin>>Putere[i]>>Cost[i];
        s=s+Putere[i];
        sc=sc+Cost[i];
    }
    if(s<W)
        cout<<-1;
    if(s==W)
        cout<<sc;
    if(s>W)
    {
        for(i=1;i<=N;i++)
            for(j=W;j>=Putere[i];j--)
                Val[j]=max(Val[j],Val[j-Putere[i]]+Cost[i]);
    }
    cout<<Val[W];
    return 0;
}