Pagini recente » Cod sursa (job #1833834) | Cod sursa (job #1046387) | Cod sursa (job #1098394) | Cod sursa (job #522714) | Cod sursa (job #2364222)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[400001],last,n,m,i,j,x,y,k;
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++)v[i]=90000001;
v[0]=0;
for(i=1;i<=n;i++)
{
fin>>x>>y;
for(j=last;j>=0;j--)
if(j+x<=400001)
if(v[j]!=90000001)
{
if(v[j+x]>v[j]+y)
v[j+x]=v[j]+y;
if(last<j+x)
last=j+x;
}
}
bool ok=0;
k=90000001;
for(i=last;i>=m;i--)
if(k>v[i])
k=v[i];
if(k!=90000001)
{
ok=1;
fout<<v[m];
}
if(!ok)fout<<-1;
return 0;
}