Pagini recente » Cod sursa (job #2233508) | Cod sursa (job #1279506) | Cod sursa (job #1574040) | Cod sursa (job #2446858) | Cod sursa (job #2493497)
#include<bits/stdc++.h>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
#define nrmax 5000
int m[nrmax+5][nrmax+5],w[nrmax+5],p[nrmax+5],s[nrmax+1];
int N,G;
void read()
{
int i;
in>>N>>G;
for(int i=1;i<=N;++i)
in>>w[i]>>p[i];
}
void solve()
{
s[0]=0;
int solutie=0;
for( int i = 1; i <= N; ++i)
for( int j = G - w[i]; j >= 0; --j){
if(s[j+w[i]]<s[j]+p[i])
{
s[j+w[i]]=s[j]+p[i];
} if(s[j+w[i]]>solutie)
solutie=s[j+w[i]];
}
out<<solutie;
}
int main()
{
read();
solve();
return 0;
}