Pagini recente » Cod sursa (job #188924) | Cod sursa (job #758532) | Cod sursa (job #309660) | Cod sursa (job #2488258) | Cod sursa (job #1283653)
#include<iostream>
using namespace std;
int greu[10001],pierd[10001],castig[15002],i,n,s=999999999,cautat,smax,j;
#include<fstream>
ifstream f("energii.in.txt");
ofstream g("energii.out.txt");
int main()
{
f>>n>>cautat;
for(i=1;i<=n;i++)
{f>>greu[i]>>pierd[i];
smax=smax+greu[i];
}
for(i=1;i<=smax;i++)
castig[i]=999999999;
for(i=1;i<=n;i++)
{for(j=smax-greu[i];j>=0;j--)
if(castig[j+greu[i]]>castig[j]+pierd[i])
{
castig[j+greu[i]]=castig[j]+pierd[i];
if(castig[j+greu[i]]<s)
s=castig[j+greu[i]];
}
}
int maximul=999999999;
for(i=cautat;i<=smax;i++)
if(maximul>castig[i])
maximul=castig[i];
if(maximul!=999999999)
g<<maximul;
else
g<<"-1";
}