Pagini recente » Cod sursa (job #3003958) | Cod sursa (job #1803177) | Cod sursa (job #915176) | Cod sursa (job #1172970) | Cod sursa (job #1150342)
#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;
}