Cod sursa(job #1448925)

Utilizator alexburdescuBurdescu Alexandru alexburdescu Data 8 iunie 2015 12:54:52
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
using namespace std;
int N,G,w[10001],p[10001],i,j,a[10001],Max;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main ()
{
    fin>>N>>G;
    for(i=1;i<=N;i++)
    {
        fin>>w[i]>>p[i];
    }
    a[0]=1;
    for(i=1;i<=N;i++)
    {
        for(j=G;j>=0;j--)
        {
            if(a[j]>0 && w[i]+j<=G)
            {
                if(p[i]+a[j]>a[j+w[i]])
                {
                    a[w[i]+j]=p[i]+a[j];
                }
            }
        }
    }
    Max=0;
    for(i=1;i<=G;i++)
    {
        if(a[i]>Max)
        {
            Max=a[i];
        }
    }
    fout<<Max-1;
    fin.close();
    fout.close();
    return 0;

}