Pagini recente » Cod sursa (job #108825) | Cod sursa (job #582157) | Cod sursa (job #1062364) | Cod sursa (job #825768) | Cod sursa (job #1882321)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G, w, oo = 1000000, s;
int p[1010], c[1010];
int a[1010][5010];
int main()
{
fin >> G >> w;
for(int i=1; i<=G; i++){
fin >> p[i] >>c[i];
s+=p[i];
}
if(s<w){fout<<-1;return 0;}
for(int i=0; i<=G; i++)
for(int j=0; j<=w; j++)
a[i][j] = oo;
for(int i=1; i<=G; i++)
{
for(int j=0; j<=w; j++)
{
if(j<=p[i])
a[i][j] = min(a[i-1][j], c[i]);
if(j>p[i])
a[i][j] = min(a[i-1][j], a[i-1][j-p[i]] + c[i]);
}
}
fout<<a[G][w];
return 0;
}