Pagini recente » Cod sursa (job #1741333) | Cod sursa (job #353792) | Cod sursa (job #758165) | Cod sursa (job #826964) | Cod sursa (job #2124856)
#include<bits/stdc++.h>
using namespace std;
int n,g,a,b,c[10000][10000];
pair <int,int> r[10000];
int main(){
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
cin>>n>>g;
for(int i=1;i<=n;i++){
cin>>a>>b;
r[i]=make_pair(a,b);
}
sort(r+1,r+n+1);
//for(int i=1;i<=g;i++)
// c[1][i]=r[1].second;
for(int i=1;i<=n;i++)
for(int j=0;j<=g;j++){
if(r[i].first>j) c[i][j]=c[i-1][j];
else c[i][j]=max(c[i-1][j],c[i-1][j-r[i].first]+r[i].second);
}
cout<<c[n][g];
return 0;
}