Pagini recente » Cod sursa (job #1979311) | Cod sursa (job #2255020) | Cod sursa (job #1025832) | Cod sursa (job #2983747) | Cod sursa (job #1188965)
#include <cstdio>
#include <algorithm>
#define MAX 100005
#define INF 500000
#define MAXc 1005
using namespace std;
int d[MAX];
struct centrala{
int c,w;
};centrala v[MAXc];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int n,s=0,g;
scanf("%d%d",&n,&g);
for(int i=1;i<=n;i++){
scanf("%d%d",&v[i].c,&v[i].w);
s+=v[i].w;
}
for(int i=1;i<=s;i++)
d[i]=INF;
d[0]=0;
for(int i=1;i<=n;i++)
for(int j=s;j>=0;j--)
if(d[j]!=INF and (j+v[i].c)<=g)
d[j+v[i].c]=min(d[j+v[i].c],(d[j]+v[i].w));
for(int i=g;i<=s;i++)
if(d[i]!=INF){
printf("%d",d[i]);
return 0;
}
printf("-1");
return 0;
}