Cod sursa(job #658780)
| Utilizator | Data | 9 ianuarie 2012 16:04:39 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
#define M 10010
using namespace std;
ifstream f("rucsac.in");
ofstream gg("rucsac.out");
int gr[M],a[M],g,G,i,j,n,pr[M],p,sol;
int main()
{
f>>n>>G;
for(i=1;i<=n;i++){f>>g>>p;
for(j=G-g;j>=1;j--) if(a[j]>0) a[j+g]=max(a[j+g],a[j]+p);
a[g]=max(a[g],p);
}
for(i=1;i<=G;i++) sol=max(sol,a[i]);
gg<<sol<<'\n';
f.close();gg.close();
return 0;
}
