Pagini recente » Cod sursa (job #2286345) | Cod sursa (job #3170563) | Cod sursa (job #1807538) | Cod sursa (job #295254) | Cod sursa (job #3165958)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long n,e,k,d[5005];
struct numar
{
long long e,c,r;
}v[1001];
int main()
{
fin>>n>>e;
for(int i=1;i<=n;i++)
{
fin>>v[i].e>>v[i].c;
}
for(int i=1;i<=e;i++)
d[i]=INT_MAX-100001;
for(int i=1;i<=n;i++)
{
if(v[i].e>e)
d[e]=min(d[e],v[i].c);
else
for(int j=e;j>=v[i].e;j--)
{
d[j]=min(d[j],d[j-v[i].e]+v[i].c);
}
}
if(d[e]==INT_MAX-100001)
fout<<-1;
else
fout<<d[e];
return 0;
}