Pagini recente » Cod sursa (job #990141) | Cod sursa (job #2089847) | Cod sursa (job #682625) | Cod sursa (job #1788262) | Cod sursa (job #2435296)
#include <fstream>
using namespace std;
const int nmax=1000;
const int smax=10000;
int v[nmax+1],c[nmax+1],d[smax+1];
ifstream ci ("energii.in");
ofstream co ("energii.out");
int main ()
{
int n,s;
ci >> n >> s;
for (int i=1; i<=n; i++)
{
ci >> v[i];
ci >> c[i];
}
for (int i=1; i<=smax; i++)
{
d[i]=smax*nmax+1;
}
for (int i=1; i<=n; i++)
{
for (int j=s; j>=0; j--)
{
if (d[j]<=smax && c[i]+d[j]<d[j+v[i]])
{
d[j+v[i]]=c[i]+d[j];
}
}
}
int sol=smax*nmax+1;
for (int i=s; i<=smax; i++)
{
if (d[i]<sol)
sol=d[i];
}
if (sol==smax*nmax+1)
{
co << "-1";
}
else
{
co << sol;
}
return 0;
}