Cod sursa(job #1778773)
| Utilizator | Data | 14 octombrie 2016 09:01:24 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int A[10010],p,u,i,j,G[5010],P[5010],n,gg,sol;
int main()
{
f>>n>>gg;
for(i=1;i<=n;i++)
f>>G[i]>>P[i];
for(i=1;i<=n;i++)
for(j=gg;j>=0;j--)
if(j+G[i]<=gg&&A[j+G[i]]<A[j]+P[i])
A[j+G[i]]=A[j]+P[i];
sol=0;
for(i=1;i<=gg;i++)
if(A[i]>sol) sol=A[i];
g<<sol;
return 0 ;
}
