Pagini recente » Cod sursa (job #2176726) | Cod sursa (job #1407189) | Cod sursa (job #2569870) | Cod sursa (job #2747350) | Cod sursa (job #1419139)
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,G,i,j,maxim;
pair <int,int> v[5001];
int d[10005];
int max(int a,int b){
if(a>=b)return a;
if(b>=a) return b;
}
int main(){
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>v[i].first>>v[i].second;
for(i=1;i<=G;i++)
d[i]=-5000000;
d[0]=0;
for(i=1;i<=n;i++){
for(j=G;j>=0;j--){
if(d[j]!=-5000000){
if(j+v[i].first<=G){
d[j+v[i].first]=max(d[j+v[i].first],d[j]+v[i].second);
maxim=max(maxim,d[j+v[i].first]);
}
}
}
}
fout<<maxim;
return 0;
}