Pagini recente » Cod sursa (job #234311) | Cod sursa (job #974808) | Cod sursa (job #1650146) | Cod sursa (job #803008) | Cod sursa (job #1996235)
#include <iostream>
#include <fstream>
#define inf (int)2e9
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,t,e[1001],c[1001],d[30001],i,j,s,maxim,minim;
int main()
{
f>>n;
f>>t;
for(i=1;i<=n;i++)
{
f>>e[i]>>c[i];
s=s+e[i];
}
if(s<t)
{
g<<-1;
}
else
{
for(i=1;i<=30001;i++)
{
d[i]=inf;
}
for(i=1;i<=n;i++)
{
for(j=maxim;j>=0;j--)
{
if(d[j]!=inf && d[j]+c[i]<d[j+e[i]])
{
d[j+e[i]]=d[j]+c[i];
if(j+e[i]>maxim && j+e[i]<30001)
{
maxim=j+e[i];
}
}
}
}
minim=d[t];
for(i=t;i<=maxim;i++)
{
if(d[i]<minim)
{
minim=d[i];
}
}
if(minim==inf)
{
g<<-1;
}
else
{
g<<minim;
}
}
return 0;
}