Cod sursa(job #1174829)

Utilizator tudormaximTudor Maxim tudormaxim Data 23 aprilie 2014 23:07:00
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int w[500005],p[500005],ok[500005];
int main()
{
    int n,i,g,sol=0,j;
    in>>n>>g;
    for(i=1;i<=n;i++)
        in>>w[i]>>p[i];
    ok[0]=0;
	for(i=1;i<=n;i++)
    {
		for(j=g-w[i];j>=0;j--)
		{
			if(ok[j+w[i]]<ok[j]+p[i] )
			{
				ok[j+w[i]]=ok[j]+p[i];
				if( ok[j+w[i]]>sol)
					sol = ok[j+w[i]];
			}
		}
	}
	out<<sol<<"\n";
    return 0;
}