Pagini recente » Cod sursa (job #1080845) | Cod sursa (job #1229044) | Cod sursa (job #1342621) | Cod sursa (job #2040667) | Cod sursa (job #76427)
Cod sursa(job #76427)
#include<stdio.h>
#define N 10000
#define INF 1000000000
int g,w,a[N];
struct vec{
int e,c;
}v[N];
void read()
{
int i;
scanf("%d%d",&g,&w);
for(i=0;i<g;i++)
scanf("%d%d",&v[i].e,&v[i].c);
}
void solve()
{
int i,min=INF,j;
for(i=1;i<N;i++)
a[i]=INF;
for(i=0;i<g;++i)
for(j=w;j>=0;j--)
if(a[j]<INF)
{
if(j+v[i].e>=w&&a[j]+v[i].c<min)
min=a[j]+v[i].c;
if(j+v[i].e<w&&a[j]+v[i].c<a[j+v[i].e])
a[j+v[i].e]=a[j]+v[i].c;
}
printf("%d\n",min);
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
read();
solve();
return 0;
}