Cod sursa(job #1398506)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 24 martie 2015 11:35:59
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
#define NMAX 5001
using namespace std;
int P[NMAX],G[NMAX];
int cost[2*NMAX];
int main()
{
    int n,gr,i,j,sol=0;
    ifstream f("rucsac.in");
    ofstream g("rucsac.out");
    f>>n>>gr;
    for(i=1;i<=n;i++)
        f>>G[i]>>P[i];
    for(i=1;i<=n;i++)
        for(j=gr-1;j>=0;j--)
            if(cost[j+G[i]]<cost[j]+P[i] && j+G[i]<=gr)
            {
                cost[j+G[i]]=cost[j]+P[i];
                if(cost[j+G[i]]>sol)
                    sol=cost[j+G[i]];
            }
    g<<sol;
    f.close();
    g.close();
}