Cod sursa(job #1431300)
Utilizator | Data | 9 mai 2015 10:13:38 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <fstream>
using namespace std;
int s[10001],n,g,p,i,G,j,mx;
ifstream f("rucsac.in");
ofstream o("rucsac.out");
int main()
{
f>>n>>G;
mx=0;
s[0]=0;
for(i=1;i<=G;i++) s[i]=-1;
for(i=1;i<=n;i++){
f>>g>>p;
for(j=G-g;j>=0;j--)
if(s[j]>-1)
if(s[j+g]<s[j]+p)
{ s[j+g]=s[j]+p;
if(mx<s[j]+p)
mx=s[j]+p;
}
}
o<<mx;
f.close();
o.close();
return 0;
}