Pagini recente » Cod sursa (job #2383146) | Cod sursa (job #527192) | Cod sursa (job #1107693) | Cod sursa (job #3189104) | Cod sursa (job #869157)
Cod sursa(job #869157)
#include<fstream>
using namespace std;
int a[1002],b[1002],v[20001];
ifstream in("energii.in");
ofstream out("energii.out");
int main()
{
long n, i, j, w, x;
in >> n >> w;
for (i=1;i<=n;i++)
in >> a[i] >> b[i];
v[0]=1;
x=1 << 30;
for (i=1;i<=n;i++)
{
for (j=w;j>=0;j--)
if (v[j]!=0)
{
if (v[a[i]+j]==0)
v[a[i]+j]=v[j]+b[i];
else
v[a[i]+j]=min(v[a[i]+j],v[j]+b[i]);
if ((a[i]+j>=w) && (v[a[i]+j]<x))
x=v[a[i]+j];
}
}
if (x==(1 << 30))
out << -1;
else
out << x-1;
in.close();
out.close();
return 0;
}