Pagini recente » Cod sursa (job #2901341) | Cod sursa (job #3256208) | Cod sursa (job #2128008) | Cod sursa (job #1831476) | Cod sursa (job #1376010)
#include<cstdio>
#include<algorithm>
using namespace std;
struct energii
{
int energie,cost;
};
energii v[1002];
bool sortare(energii a,energii b)
{
if(a.energie==b.energie)
return a.cost<b.cost;
return a.energie<b.energie;
}
int vec[10001];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int G,W,contor,k,i,min,s;
scanf("%d%d",&G,&W);
for(contor=1;contor<=G;contor++)
{
scanf("%d%d",&v[contor].energie,&v[contor].cost);
}
sort(v+1,v+G+1,sortare);
for(k=1;k<=G;k++)
{
min=-1;
for(i=10001;i>=1;i--)
{
if(vec[i]!=0)
{
min=vec[i]+v[k].cost;
if(vec[i+v[k].energie]==0)
vec[i+v[k].energie]=min;
if(min<vec[i+v[k].energie])
{
min=s;
vec[i+v[k].energie]=min;
}
}
}
if(vec[v[k].energie]==0)
vec[v[k].energie]=v[k].cost;
if(vec[v[k].energie]>v[k].cost)
vec[v[k].energie]=v[k].cost;
}
for(i=W;i<=10001;i++)
if(vec[i]!=0)
{
printf("%d",vec[i]);
break;
}
return 0;
}