Cod sursa(job #929661)
Utilizator | Barabas Barnabas readyness | Data | 27 martie 2013 10:22:16 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <fstream>
using namespace std;
int main()
{
short n,g,i,j;
ifstream f("rucsac.in");
f>>n>>g;
short suly,ert;
long long X[g+1];
fill(X,X+g+1,-1);
X[0]=0;
for(i=0;i<n;i++)
{
f>>suly>>ert;
for(j=g;j>=0;j--)
{
if(X[j]>-1&&j+suly<g+1)
{
if(X[j]+ert>X[j+suly])
{
X[j+suly]=X[j]+ert;
}
}
}
}
long long max=0;
for(i=0;i<=g;i++)
{
if(X[i]>max)
{
max=X[i];
}
}
ofstream ki("rucsac.out");
ki<<max<<"\n";
return 0;
}