Cod sursa(job #1545384)

Utilizator iulius510iulius alexandru iulius510 Data 6 decembrie 2015 18:19:21
Problema Problema rucsacului Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;
int D1[10001],D2[10001],G[5001],P[5001],n,C;
ifstream f("rucsac.in");
ofstream g("rucsac.out");

int main()
{
    f>>n>>C;
    for(int i=1; i<=n; i++)
       {f>>G[i]>>P[i];
         if(G[i]<=C)
         if(D1[G[i]]<P[i])
            D1[G[i]]=P[i];
       }


for(int i=2; i<=n; i++)
       {for(int j=1; j<=C; j++)
            if(j>=G[i])
            D2[j]=max(D1[j],D1[j-G[i]]+P[i]);
            else  D2[j]=D1[j];
        for(int t=1;t<=C;t++)
            D1[t]=D2[t];
       }


  g<<D2[C];
    return 0;
}