Cod sursa(job #1011827)

Utilizator savulescustefanSavulescu Stefan savulescustefan Data 17 octombrie 2013 16:20:10
Problema Problema rucsacului Scor 0
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 c[4000004],Max,Max1,gr,n,i,j,gg,p;
int main()
{
    f>>n>>gr>>gg>>p;
    if(gg<=gr) c[gg]=p;
    Max=0;
    c[0]=0;
    for(i=1;i<=n;i++)
        c[i]=-1;
    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=gr-1;i>=1;i--)
        if (c[i]>Max1)
        Max1=c[i];
    g<<Max1;
    return 0;
}