Pagini recente » Cod sursa (job #867438) | Cod sursa (job #835462) | Cod sursa (job #1195170) | Cod sursa (job #2525861) | Cod sursa (job #2981253)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
const int Gmax=1000, Cmax=10000, Wmax=5000;
int dp[Wmax+1];
int g, w, e, c;
int main()
{
fin>>g>>w;
for (int i=0; i<=Wmax; i++)
dp[i]=Gmax*Cmax+1;
for (int i=0; i<g; i++){
fin>>e>>c;
for (int j=w; j>0; j--){
if (j>e && dp[j]>dp[j-e]+c)
dp[j]=dp[j-e]+c;
else if(j<=e && dp[j]>c)
dp[j]=c;
}
}
if (dp[w]==Gmax*Cmax+1)
fout<<"-1";
else fout<<dp[w];
return 0;
}