Pagini recente » Cod sursa (job #317598) | Cod sursa (job #322395) | Cod sursa (job #760779) | Cod sursa (job #571627) | Cod sursa (job #469550)
Cod sursa(job #469550)
# include <fstream>
# define MAX 2000000000
using namespace std;
int n, w, E[1003], C[1003], u[5003][1003], v[5003];
void read ()
{
ifstream fin ("energii.in");
fin>>n>>w;
for(int i=1;i<=n;++i)
fin>>E[i]>>C[i];
}
void solve ()
{
for(int i=1;i<=w;++i)
v[i]=MAX;
for(int i=1;i<=w;++i)
for(int j=1;j<=n;++j)
if (i-E[j]>=0 && !u[i-E[j]][j] && v[i-E[j]]+C[j]<v[i])
{
v[i]=v[i-E[j]]+C[j];
u[i][j]=1;
for(int k=1;k<=n;++k)
u[i][k]=u[i-E[j]][k];
}
}
int main()
{
read ();
solve ();
ofstream fout ("energii.out");
if (v[w]==MAX)
fout<<"-1";
else
fout<<v[w];
return 0;
}