Cod sursa(job #1818605)
| Utilizator | Data | 29 noiembrie 2016 14:58:17 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct obiecte
{
int g,v;
};
obiecte a[5001];// obiecte de greutate g si valoare v
int n,G;//date de intrare
int c[10001];//vectorul in care vom calcula
int main()
{
int i,j;
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>a[i].g>>a[i].v;
for(i=1;i<=n;i++)
for(j=G;j>=1;j--)
if(a[i].g>j)
c[j]=c[j];
else
c[j]=max(c[j],a[i].v+c[j-a[i].g]);
fout<<c[G];
return 0;
}
