Pagini recente » Cod sursa (job #1702848) | Cod sursa (job #264861) | Cod sursa (job #1101596) | Profil dornescuvlad | Cod sursa (job #472470)
Cod sursa(job #472470)
# include <stdlib.h>
# include <cstdio>
using namespace std;
int G[10005],E[10005],C[10005],n,w,i,j,min,ok,viz[10005],s;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for (i = 1; i <= n; i++)
scanf("%d%d",&E[i],&C[i]);
for (i = 1; i <= 2 * w; i++)
G[i] = 10001;
for (i = 1; i <= n; i++)
G[E[i]] = C[i];
for (j = 1; j <= n; j++)
for (i = 2 * w; i >= 1; i--)
if (i > E[j])
if (G[i - E[j]] + C[j] < G[i])
G[i] = G[i - E[j]] + C[j];
min = 10000;
for (i = w; i <= 2 * w ; i++)
if (min > G[i]) min = G[i];
for (i = 1; i <= n; i++)
s = s + E[i];
if (s < w) printf("-1");
else
printf("%d",min);
return 0;
}