Pagini recente » Cod sursa (job #2242109) | Cod sursa (job #1228741) | Cod sursa (job #2732084) | Cod sursa (job #115235) | Cod sursa (job #2364235)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[400001],last,n,m,i,j,x,y,k,cnt;
int main()
{
fin>>n>>m;
for(i=1;i<=15050;i++)v[i]=90000001;
v[0]=0;
for(i=1;i<=n;i++)
{
fin>>x>>y;
for(j=last;j>=0;j--)
if(v[j]!=90000001)
{
if(v[j+x]>v[j]+y)
v[j+x]=v[j]+y;
if(last<j+x && j+x<=m)
last=j+x;
cnt=max(cnt,j+x);
}
}
bool ok=0;
k=90000001;
for(i=cnt;i>=m;i--)
if(k>v[i])
k=v[i];
if(k!=90000001)
{
ok=1;
fout<<k;
}
else
fout<<-1;
return 0;
}