Pagini recente » Cod sursa (job #2431983) | Cod sursa (job #448603) | Cod sursa (job #605281) | Cod sursa (job #2879030) | Cod sursa (job #2772980)
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int v[1001], h[1001], f[1001];
int n, s, i, j, G, maxi;
int main () {
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>v[i]>>h[i];
for(i=1;i<=n;i++){
for(j=G;j>=1;j--){
if(f[j]!=0){
if(j+v[i]<=G && f[j]+h[i]>f[j+v[i]])
f[j+v[i]]=f[j]+h[i];
}
}
if(v[i]<=G && h[i]>f[v[i]])
f[v[i]]=h[i];
}
for(i=1;i<=G;i++){
s=max(s, f[i]);
}
fout<<s;
}