Pagini recente » Cod sursa (job #1916065) | Cod sursa (job #1803013) | Cod sursa (job #1979587) | Cod sursa (job #621239) | Cod sursa (job #2297859)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int p[1005],e[1005];
int d[5002];
int n,cnt,i,j,k;
int main()
{
fin>>n>>cnt;
for(i=1;i<=cnt;i++)
d[i]=INT_MAX;
for(i=1;i<=n;i++)
fin>>e[i]>>p[i];
for(i=1;i<=cnt;i++)
for(j=1;j<=n;j++)
for(k=cnt;k>=0;k--)
if(d[k]!=INT_MAX)
{
if(k+e[j]>cnt)
d[cnt]=min(d[cnt],d[k]+p[j]);
else
d[k+e[j]]=min(d[k+e[j]],d[k]+p[j]);
}
if(d[cnt]!=INT_MAX)
fout<<d[cnt];
else
fout<<-1;
return 0;
}