Pagini recente » Cod sursa (job #1871070) | Cod sursa (job #401108) | Cod sursa (job #768171) | Cod sursa (job #2853118) | Cod sursa (job #3165065)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("energii.in");
ofstream fout("energii.out");
int n,E,e,c,dp[5005];
int main()
{
fin>>n;
fin>>E;
for(int i=1;i<=5005;i++)
dp[i]=-1;
for(int i=1;i<=n;i++)
{
fin>>e>>c;
for(int j=E-e;j>=0;j--)
if(dp[j]!=-1 && dp[j+e]<dp[j]+c)
dp[j+e]=dp[j]+c;
}
int maxim=-1;
for(int i=1;i<=5005;i++)
if(dp[i]>maxim)
maxim=dp[i];
fout<<maxim;
return 0;
}