Pagini recente » Cod sursa (job #753110) | Cod sursa (job #1313572) | Cod sursa (job #1534194) | Cod sursa (job #927827) | Cod sursa (job #1969780)
#include <fstream>
using namespace std;
ifstream fi ("energii.in");
ofstream fo ("energii.out");
int i,j,n,maxi,pt,g[5003],p[5003],lcur[20004],lpre[20004],mini;
int main()
{
fi>>n>>pt;
for (i=1; i<=n; i++)
{
fi>>p[i]>>g[i];
maxi=max(maxi,g[i]);
}
mini=100000;
for (i=1; i<=n; i++)
{
for (j=0; j<=pt+maxi; j++)
{
lcur[j]=lpre[j];
if (g[i]<=j)
{
lcur[j]=max(lpre[j],lpre[j-g[i]]+p[i]);
}
if (lcur[j]>=pt and j<mini) mini=j;
}
for (j=0; j<=pt+maxi; j++)
{
lpre[j]=lcur[j];
lcur[j]=0;
}
}
if (mini==100000) mini=-1;
fo<<mini;
return 0;
}