Pagini recente » Cod sursa (job #3215088) | Cod sursa (job #502889) | Cod sursa (job #3041547) | Cod sursa (job #1031886) | Cod sursa (job #920418)
Cod sursa(job #920418)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in ("rucsac.in");
ofstream out ("rucsac.out");
int const N=10001;
int const M=5001;
int g[N],p[M],profit[M];
int main()
{
int i,j,n,k;
in>>n>>k;
for(i=1;i<=n;i++)
in>>g[i]>>p[i];
for(i=1; i<=n; i++)
{
for(j=k-g[i]; j>0; j--)
if(profit[j]!=0 && profit[j]+p[i]>profit[j+g[i]])
profit[j+g[i]] = profit[j]+p[i];
if(g[i]<=k && p[i]>profit[g[i]])
profit[g[i]] = p[i];
}
sort(&profit[1],&profit[k+1]);
out<<profit[k];
return 0;
}