Pagini recente » Cod sursa (job #739572) | Cod sursa (job #850568) | Cod sursa (job #1183012) | Cod sursa (job #74365) | Cod sursa (job #3165950)
#include <fstream>
#include <algorithm>
#include <climits>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,e,k,d[5001];
struct numar
{
int e,c,r;
}v[1001];
int cmp(numar a,numar b)
{
if(a.e==b.e)
return a.c<b.c;
return a.e<b.e;
}
int main()
{
fin>>n>>e;
for(int i=1;i<=n;i++)
{
fin>>v[i].e>>v[i].c;
}
sort(v+1,v+n+1,cmp);
for(int i=1;i<=e;i++)
d[i]=INT_MAX-100001;
for(int i=1;i<=n;i++)
{
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;
}