Cod sursa(job #1117387)
Utilizator | Data | 23 februarie 2014 14:34:39 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,gr;
long rez[10001];
int main()
{
f >> n >> gr;
for (int i=1; i<=n;++i)
{
int w,p;
f >> w >> p;
for (int j=gr; j>=w;--j)
{
if (j - w >=0 )
if ( rez[j - w] + p > rez[j] ) rez[j] = rez[j - w] + p;
}
}
while (rez[gr--] == 0) {}
g << rez[++gr];
return 0;
}