Cod sursa(job #1972821)
Utilizator | Data | 23 aprilie 2017 19:29:22 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int v[10005];
int main()
{
int n,w,i,j,a,b;
in>>n>>w;
v[0]=1;
for (i=1; i<=n; i++)
{
in>>a>>b;
for (j=w; j>=a; j--)
{
if (v[j-a]+b>v[j] && v[j-a]!=0)
v[j]=v[j-a]+b;
}
}
int max1=0;
for (i=1; i<=w; i++)
{
max1=max(max1,v[i]);
}
out<<max1-1;
}