Pagini recente » Cod sursa (job #1964784) | Cod sursa (job #2583331) | Cod sursa (job #2728713) | Cod sursa (job #1161594) | Cod sursa (job #2158516)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int g[1001],v[1001],n,gmax,dp[10001],i,j;
int main()
{
cin>>gmax>> n;
for(i=1;i<=n;i++) cin>>g[i]>>v[i];
for(i=1;i<=n;i++)
{
for(j=gmax-g[i];j>=1;j--)
if(dp[j]!=0 && dp[j]+v[i]>dp[j+g[i]])
dp[j+g[i]] = dp[j]+v[i];
if(dp[g[i]]<v[i])
dp[g[i]]=v[i];
}
int maxx = 1;
for(i=1;i<=gmax;i++)
{
if(dp[i]>maxx)
maxx = dp[i];
}
cout<<maxx;
return 0;
}