Cod sursa(job #658545)
| Utilizator | Data | 8 ianuarie 2012 23:42:32 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
#define inf -333333333
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,S,sum[10005],i,j,G,P,rez;
int main()
{
f>>n>>S;
for(i=1; i<=S; i++) sum[i]=inf;
for(i=1; i<=n; i++)
{
f>>G>>P;
for(j=S-G; j>=0; j--) if (sum[j]!=inf)
sum[j+G]=max(sum[j+G],sum[j]+P);
}
for(i=1; i<=S; i++) rez=max(rez,sum[i]);
g<<rez<<'\n';
f.close();
g.close();
return 0;
}
