Pagini recente » Cod sursa (job #3135444) | Cod sursa (job #143723) | Cod sursa (job #320474) | Cod sursa (job #869250) | Cod sursa (job #1172386)
#include <fstream>
using namespace std;
int p[1007],c[5007],dp[2][5007],n;
int main(){
int i,j,g,q;
ifstream fin("energii.in");
ofstream fout("energii.out");
fin>>n>>g;
for(i=1;i<=n;i++)
fin >>p[i]>>c[i];
for(i=1;i<=g;i++) dp[1][i]=1000000;
for(i=1;i<=n;i++){
for(j=1;j<=g;j++)
if(p[i] >= j)
dp[2][j]= min(c[i],dp[1][j]);
else
dp[2][j] = min(dp[1][j],dp[1][j-p[i]]+c[i]);
for(q=1;q<=g;q++)
dp[1][q]=dp[2][q];
}
if(dp[2][g] == 1000000) fout<<"-1\n";
else
fout <<dp[2][g]<<"\n";
fin.close();
fout.close();
return 0;
}