Cod sursa(job #1853216)

Utilizator raduaxel1Dilirici Radu raduaxel1 Data 21 ianuarie 2017 15:16:57
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream in("rucsac.in");
ofstream out("rucsac.out");

int prof[10000005];int g[10000005];int p[10000005];
int main()
{
    int i,j,k,n,maxi=0;
    in>>n>>k;
    for(i=1;i<=n;++i)
    {in>>g[i];in>>p[i];}
    for(j=1; j<=k; j++)
    {
        prof[j]=-1;
    }
    prof[0]=0;
    for(i=1; i<=n; i++)
    {
        for(j=k-g[i]; j>=0; --j)
        {
            if(prof[j]!=-1&&prof[j]+p[i]>prof[j+g[i]])
            {
                prof[j+g[i]]=prof[j]+p[i];
            }
        }
    }
    for(i=1;i<=k;i++)
      if(prof[i]>=maxi)
        maxi=prof[i];
    out<<maxi;
    return 0;
}