Pagini recente » Cod sursa (job #1062455) | Cod sursa (job #2312395) | Cod sursa (job #1142665) | Cod sursa (job #1842710) | Cod sursa (job #874903)
Cod sursa(job #874903)
#include<vector>
#include<stdio.h>
using namespace std;
int n,rez, g,l;
vector<int> p,w;
vector<vector<int> > r;
void citire()
{
scanf("%d%d",&n,&g);
p.resize(n+1);
w.resize(n+1);
for(int i=1;i<=n;i++)
scanf("%i%i",&w[i],&p[i]);
}
void pd()
{
r.resize(n+1,vector<int> (3));
for(int i=1;i<=n;i++,l=1-l)
for(int j=0;j<=g;j++)
{
r[1-l][j]=r[l][j];
if(w[i]<=j)
r[1-l][j]=max(r[1-l][j],r[l][j-w[i]]+p[i]);
}
rez=r[n][l];
printf("%d\n", rez);
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
citire();
pd();
}