Pagini recente » Cod sursa (job #1242277) | Cod sursa (job #2302883) | Cod sursa (job #171450) | Cod sursa (job #1501985) | Cod sursa (job #1698718)
#include <iostream>
#include <cstdio>
using namespace std;
unsigned short n,w,g=100001;
unsigned short p[1005],c[1005];
unsigned short sol[100005];
int main()
{
int i,j,mini=32000;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for(i=1;i<=n;i++)
scanf("%d%d",&p[i],&c[i]);
for(i=1;i<=n;i++)
{
for(j=g-c[i];j>=0;j--)
{
// cout<<c[i]<<' '<<p[i]<<'\n';
if(sol[j]+p[i]>sol[j+c[i]] ) sol[j+c[i]]=sol[j]+p[i];
if(sol[j+c[i]]>=w && mini>j+c[i]) mini=j+c[i];
}
//for(j=1;j<=15;j++) cout<<sol[j]<<' '; cout<<'\n';
}
if(mini==32000) printf("-1");
else printf("%d\n",mini);
fclose(stdin);
fclose(stdout);
return 0;
}