Pagini recente » Diferente pentru problema/colorare intre reviziile 1 si 2 | Diferente pentru utilizator/astrid28 intre reviziile 18 si 2 | Diferente pentru jc2012/runda-2 intre reviziile 2 si 3 | Diferente pentru utilizator/allyna intre reviziile 10 si 2 | Cod sursa (job #1514171)
#include <stdio.h>
using namespace std;
FILE *f,*g;
int v[5001],x[5001],s[10001];
int main()
{
int i,j,n,gr;
f=fopen("rucsac.in","r");
g=fopen("rucsac.out","w");
fscanf(f,"%d %d",&n,&gr);
for(i=1;i<=n;i++) fscanf(f,"%d %d",&v[i],&x[i]);
for(i=1;i<=n;i++)
{
for(j=gr;j>=1;j--)
{
if(j-v[i]>=0)
{
if(s[j]<s[j-v[i]]+x[i]) s[j]=s[j-v[i]]+x[i];
}
}
}
fprintf(g,"%d",s[gr]);
fclose(f);
fclose(g);
return 0;
}