Cod sursa(job #1565082)
| Utilizator | Data | 10 ianuarie 2016 13:23:06 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream h("rucsac.out");
int n,gmax,max1,s[100001],j,i,p[50001],g[50001],rez;
int main()
{ f>>n>>gmax;
s[0]=max1=0;
for(i=1;i<=n;i++)
f>>g[i]>>p[i];
for(i=1;i<=n;i++)
for(j=gmax-g[i];j>=0;j--)
if(s[j+g[i]]<s[j]+p[i])
{ s[j+g[i]]=s[j]+p[i];
if(s[j+g[i]]>max1) max1=s[j+g[i]];
}
h<<max1;
return 0;
}
