Pagini recente » Cod sursa (job #523557) | Cod sursa (job #523559) | Cod sursa (job #1906270) | Cod sursa (job #1604998) | Cod sursa (job #523561)
Cod sursa(job #523561)
#include <iostream>
#include <fstream>
#define DG 1005
#define DW 5005
using namespace std;
int dp[DG][DW],cant[DG],cost[DW],g,w,tot;
int main()
{
ifstream f("energii.in");
ofstream out("energii.out");
f>>g>>w;
int i,j;
for(i=1; i<=g; ++i) f>>cant[i]>>cost[i],tot+=cant[i];
if(tot<w) {out<<"-1"; return 0;}
for(i=1;i<=w;i++) dp[0][i]=1<<20;
for(i=1; i<=g; ++i) for(j=1; j<=w; ++j)
if(j<cant[i]) dp[i][j]=min(dp[i-1][j],cost[i]);
else dp[i][j]=min(dp[i-1][j],dp[i-1][j-cant[i]]+cost[i]);
out<<dp[g][w];
return 0;
}