Cod sursa(job #908505)
Utilizator | Data | 9 martie 2013 15:49:52 | |
---|---|---|---|
Problema | Energii | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
# include <fstream>
using namespace std;
int G,W,E[5002],C[5003],i,j,M[5003][5003];
ifstream cin("energii.in");
ofstream cout("energii.out");
int main()
{
cin >> G >> W;
for(i=1;i<=G;++i)
cin >> E[i] >> C[i];
for(i=0;i<=G;++i)
for(j=0;j<=W;++j)
M[i][j]=1000001;
for(i=1;i<=G;++i)
for(j=1;j<=W;++j)
{
if(E[i]<j)
{
M[i][j]=min(M[i-1][j],M[i-1][j-E[i]]+C[i]);
}
else
{
M[i][j]=min(M[i-1][j],C[i]);
}
}
cout << M[G][W];
return 0;
}