Pagini recente » Cod sursa (job #185517) | Cod sursa (job #1521153) | Cod sursa (job #322029) | Cod sursa (job #1432469) | Cod sursa (job #403453)
Cod sursa(job #403453)
#include<stdio.h>
#define N 10000000
#define NN 15003
int n,s,smax,i,min,en[NN],a[1002][2],j;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d",&n);
scanf("%d",&s);
for(i=1;i<=n;i++)
{
scanf("%d %d",&a[i][0],&a[i][1]);
smax+=a[i][0];
}
if(smax<s)
printf("-1");
if(smax==s)
{
smax=0;
for(i=1;i<=n;i++)
smax+=a[i][1];
printf("%d",smax);
}
if(smax>s)
{
for(i=1;i<=NN;i++)
en[i]=N;
en[a[1][0]]=a[1][1];
for(i=2;i<=n;i++)
{
for(j=1;j<=s;j++)
if(en[j]!=N)
en[j+a[i][0]]=en[j]+a[i][1];
if(a[i][1]<en[a[i][0]])
en[a[i][0]]=a[i][1];
}
min=NN;
for(i=s;i<=NN;i++)
if(min>en[i])
min=en[i];
printf("%d",min);
}
return 0;
}