Cod sursa(job #1237588)
| Utilizator | Data | 4 octombrie 2014 12:59:50 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include<fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int N,G, pmax[10001],gc,pc,i,j,maximsuprem;
bool ok[10001];
int main()
{
f>>N>>G;
ok[0]=1;
for(i=1;i<=N;i++)
{
f>>gc>>pc;
for(j=G;j>=0;j--)
if(ok[j]==1)
if(j+gc<=G)
{
ok[j+gc]=1;
if(pmax[j+gc]<pmax[j]+pc)
pmax[j+gc]=pmax[j]+pc;
if(maximsuprem<pmax[j+gc])maximsuprem=pmax[j+gc];
}
}
g<<maximsuprem;
}
