Pagini recente » Cod sursa (job #426737) | Cod sursa (job #1579029) | Cod sursa (job #2950671) | Cod sursa (job #1661377) | Cod sursa (job #1350343)
#include <iostream>
#include <fstream>
using namespace std;
int n,e_necesara,cant_e[10000],cost[10000],a[100000],sol,s,c,k;
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
f>>n;
f>>e_necesara;
for(int i=1; i<=n; i++)
{
f>>cant_e[i]>>cost[i];
c+=cost[i];
s+=cant_e[i];
}
if(s<e_necesara)g<<-1;
else
if(s==e_necesara)g<<c;
else
{
for(int i=1; i<=e_necesara; i++)
a[i]=100000;
for(int i=1; i<=n; i++ )
for(int j=e_necesara; j>=1; j--)
{
if(cant_e[i]>=j)a[j]=min(a[j],cost[i]);
else a[j]=min(a[j],a[j-cant_e[i]]+cost[i]);
}
sol=a[e_necesara];
g<<sol;
}
}