Pagini recente » Cod sursa (job #2139558) | Cod sursa (job #679829) | Cod sursa (job #787917) | Cod sursa (job #409590) | Cod sursa (job #2294211)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int p[1005],e[1005];
int a[1005][10005];
int n,cnt,i,j,k,Max;
int main()
{
fin>>n>>cnt;
for(i=1;i<=n;i++)
for(j=1;j<=cnt;j++)
a[i][j]=INT_MAX;
for(i=1;i<=n;i++)
{
fin>>e[i]>>p[i];
a[1][p[i]]=e[i];
}
for(i=2;i<=n;i++)
for(j=1;j<=n;j++)
for(k=2*cnt-e[j];k>=1;k--)
if(a[i-1][k]!=INT_MAX)
a[i][k+p[j]]=min(a[i-1][k]+p[j],a[i][k+e[j]]);
for(i=1;i<=2*cnt;i++)
if(a[n][i]!=INT_MAX)
Max=max(a[n][i],Max);
if(Max>=cnt)
fout<<Max;
else
fout<<-1;
return 0;
}