Pagini recente » Cod sursa (job #1210283) | Cod sursa (job #2673146) | Cod sursa (job #1371655) | Cod sursa (job #1071920) | Cod sursa (job #1067810)
#include<stdio.h>
FILE *f=fopen("energii.in","r");
FILE *g=fopen("energii.out","w");
#define maxn 5001
#define maxg 10001
int greutate[maxn],profit[maxn],opt[maxg];
int i,j,n,gr,sol=2e+9;
int main()
{
fscanf(f,"%d %d",&n,&gr);
for(i=1;i<=n;i++) fscanf(f,"%d %d",&greutate[i],&profit[i]);
for (i=1;i<=n;i++)
{
for (j=gr-greutate[i];j>=0;j--)
{
if (opt[j+greutate[i]]<opt[j]+profit[i])
{
opt[j+greutate[i]]=opt[j]+profit[i];
if (opt[j+greutate[i]]<sol && opt[j+greutate[i]]>=gr) sol=opt[j+greutate[i]];
}
}
}
if (sol!=2e+9) fprintf(g,"%d",sol);
else fprintf(g,"-1");
return 0;
}