Cod sursa(job #1011838)

Utilizator savulescustefanSavulescu Stefan savulescustefan Data 17 octombrie 2013 16:35:34
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int c[4000004],Max,Max1,gr,n,i,j,gg,p;
int main()
{
    f>>n>>gr>>gg>>p;
    if(gg<=gr) c[gg]=p;
    for (j=1;j<n;j++)
    {
        f>>gg>>p;
    for(i=gr-gg;i>=0;i--)
    if(c[i]>0)
    {if(c[i+gg]==0)
     c[i+gg]=c[i]+p;
    else if(c[i+gg]<c[i]+p)
        c[i+gg]=c[i]+p;
    }
    if (c[gg]<p)
    c[gg]=p;
    }
    Max1=c[gr];
    for (i=1;i<=gr;i++)
        if (c[i]>Max1)
        Max1=c[i];
    g<<Max1;
    return 0;
}