Pagini recente » Cod sursa (job #2748798) | Cod sursa (job #1064782) | Cod sursa (job #796947) | Cod sursa (job #1788092) | Cod sursa (job #1507608)
#include<fstream>
#include<iostream>
#include<vector>
#include <cstring>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,m,k,i,j,p,x,y,viz[10005],t,a[10005],b[10005],sol;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>a[i]>>b[i];
//viz[a[i]]=b[i];
//<<a[i]<<" "<<b[i]<<"\n";
}
for(i=1;i<=k;i++)
{
//viz[i]=-1;
}
for(i=1;i<=n;i++)
{
for(j=k-a[i];j>=0;j--)
{
if(viz[j]!=0 or j==0)
{
viz[j+a[i]]=max(viz[j+a[i]],viz[j]+b[i]);
//fout<<j<<"\n";
//viz[j+a[i]] = viz[k]+b[i];
}
}
}
sol=0;
for(i=1;i<=k;i++)
{
//fout<<viz[i]<<" ";
sol=max(sol,viz[i]);
}
fout<<sol<<"\n";
}