Pagini recente » Cod sursa (job #3177076) | Cod sursa (job #2734469) | Cod sursa (job #989896) | Cod sursa (job #1359530) | Cod sursa (job #788339)
Cod sursa(job #788339)
#include <cstdio>
#define W 5001
#define N 1001
#define inf 1999999999
using namespace std;
int n,w,e[N],c[N],cost[2*W],rez;
inline int min(int x,int y)
{
if(x<y)return x; else return y; return 0;
}
void read()
{ int i;
freopen("energii.in","r",stdin); scanf("%d\n%d\n",&n,&w);
for(i=1;i<=n;++i)
scanf("%d %d\n",&e[i],&c[i]);
fclose(stdin);
}
void init()
{ int i;
for(i=1;i<=2*w;++i)
cost[i]=inf;
}
void solve()
{ int i,j;
init();
for(i=1;i<=n;++i)
for(j=2*w;j>=e[i];--j)
cost[j]=min(cost[j],cost[j-e[i]]+c[i]);
}
void write()
{ int i;
freopen("energii.out","w",stdout);
for(i=w;i<=2*w;++i)
rez=min(rez,cost[i]);
if(rez==inf)printf("%d",-1);
else printf("%d",rez);
fclose(stdout);
}
int main()
{
read();
rez=inf;
solve();
write();
return 0;
}
#undef W
#undef inf
#undef N