Pagini recente » Cod sursa (job #1158449) | Istoria paginii solutie/nrchei | Cod sursa (job #1837815) | Cod sursa (job #2692400) | Cod sursa (job #1367383)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream gg("rucsac.out");
int v1[1000],v2[1000],c[1000],i,j,s,g,n;
int main()
{
f>>n>>g;
for(i=1;i<=n;i++){
f>>v1[i]>>v2[i];
s+=v2[i];
}for(i=1;i<=s;i++)
c[i]=-1;
for(i=1;i<=n;i++)
for(j=s-v2[i];j>=0;j--)
if(c[j]!=-1)
if(c[j]+v1[i]<=g)
if( c[j+v2[i]]==-1)
c[j+v2[i]]=c[j]+v1[i];
else
if(c[j+v2[i]]>c[j]+v1[i])
c[j+v2[i]]=c[j]+v1[i];
for(i=s;i>=1;i--)
if(c[i]!=-1){
gg<<i;
break;}
return 0;
}