Pagini recente » Cod sursa (job #954069) | Cod sursa (job #31004) | Cod sursa (job #460929) | Profil MadalinVasile28 | Cod sursa (job #1277004)
#include<fstream>
#include<cstring>
#define INF 50000001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int max(int a,int b){
if(a>b)
return a;
else
return b;
}
int n,g,i,j,sol,maxim;
int G[5003],d[100001],P[5003];
int main(){
fin>>n>>g;
for(i=1;i<=n;i++) {
fin>>G[i]>>P[i];
}
for(i=1;i<=g;i++)
d[i]=-INF;
d[0]=0;
for(i=1;i<=n;i++) {
for(j=g;j>=0;j--)
if(d[j]!=-INF) {
if(j+G[i]<=g) {
d[j+G[i]]=max(d[j+G[i]],d[j]+P[i]);
sol=max(sol,d[j+G[i]]);
}
}
}
fout<<sol;
return 0;
}