Pagini recente » Cod sursa (job #676080) | Cod sursa (job #545001) | Cod sursa (job #899812) | Cod sursa (job #3137747) | Cod sursa (job #2772959)
#include <fstream>
using namespace std;
int f[10010];
int v[50010];
int p[50010];
int n,i,j,g,sol;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int main () {
cin>>n>>g;
for (i=1;i<=n;i++) {
cin>>v[i]>>p[i];
}
for (i=1;i<=n;i++) {
for (j=g;j>=1;j--) {
if (f[j]!=0) {
if (j+v[i]<=g&&f[j]+p[i]>f[j+v[i]]) {
f[j+v[i]]=f[j]+p[i];
}
}
}
if (v[i]<=g&&f[v[i]]<p[i]) {
f[v[i]]=p[i];
}
}
for (i=1;i<=g;i++) {
sol=max(sol,f[i]);
}
cout<<sol;
}