Pagini recente » Cod sursa (job #717849) | Cod sursa (job #1546564) | Cod sursa (job #3242783) | Cod sursa (job #1203487) | Cod sursa (job #437044)
Cod sursa(job #437044)
#include <stdio.h>
#define lung 10000000
#define lng 1000
struct gen
{int e,c;} a[lng];
int s[lung];
int main()
{
int g,w,su,i,j,min;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
su=0;
for (i=0;i<g;i++)
{
scanf("%d%d",&a[i].e,&a[i].c);
su+=a[i].e;
}
s[0]=1;
for (i=0;i<g;i++)
for (j=su;j>=0;j--)
if (s[j])
{
int *p=&s[j+a[i].e];
if (!j) *p= (!(*p) || *p>a[i].c) ?a[i].c : *p;
else *p= (!(*p) || *p>a[i].c) ? a[i].c : *p;
}
min=-1;
for (i=w;i<=su;i++)
if (s[i] && (min==-1 || s[i]<min))
min=s[i];
printf("%d\n",min);
fclose(stdout);
return 0;
}