Cod sursa(job #862171)
| Utilizator | Data | 22 ianuarie 2013 12:38:45 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int v[1000],v2[1000];
int main()
{
int n,g,w,p,i,j;
fin>>n>>g;
while(n)
{
fin>>w>>p;
for(i=w;i<=g;i++)
{
if(v2[i-w]!=n && v[i-w]+p>v[i])
{
v2[i]=n;
v[i]=v[i-w]+p;
}
else
{
if(v[i]<v[i-1])
{
v2[i]=v2[i-1];
v[i]=v[i-1];
}
}
}
// for(j=1;j<=g;j++)
//cout<<v[j]<<" ";
//cout<<"\n";
n--;
}
fout<<v[g];
}
