Pagini recente » Cod sursa (job #2598781) | Cod sursa (job #57013) | Cod sursa (job #575453) | Cod sursa (job #2366389) | Cod sursa (job #608591)
Cod sursa(job #608591)
#include<fstream>
using namespace std;
int n,G;
int p[5005],g[5005];
int a[10005],b[10005];
int sol;
void Citire()
{
int i;
ifstream fin("rucsac.in");
fin>>n>>G;
for(i=1;i<=n;i++)
fin>>g[i]>>p[i];
fin.close();
}
inline int Max(int a,int b)
{
if(a>b)
return a;
return b;
}
void Rezolvare()
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=G;j++)
{
if(j>=g[i])
b[j]=Max(a[j],a[j-g[i]]+p[i]);
else
b[j]=a[j];
}
for(j=1;j<=G;j++)
a[j]=b[j];
}
}
void Afisare()
{
//int i;
ofstream fout("rucsac.out");
/*for(i=1;i<=G;i++)
sol=Max(sol,a[i]);*/
sol=a[G];
fout<<sol<<"\n";
fout.close();
}
int main()
{
Citire();
Rezolvare();
Afisare();
return 0;
}