Pagini recente » Cod sursa (job #163363) | Cod sursa (job #913340) | Cod sursa (job #574966) | Cod sursa (job #1973450) | Cod sursa (job #1567684)
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int e[1008],c[1008],dp[1009][80000];
#define INF 999999999
int main()
{
long long g,w,nre=0;
in>>g>>w;
for(int i=1;i<=g;i++)
{
in>>e[i]>>c[i];
nre+=e[i];
}
for(int i=0;i<=g;i++)
for(int j=0;j<=nre;j++)
dp[i][j]=INF;
if(nre<w){out<<"-1";return 0;}
for(int i=1;i<=g;i++)
for(int j=0;j<=nre;j++)
{dp[i][j]=min(dp[i-1][j],dp[i-1][j-e[i]]+c[i]);
if(e[i]>=j)dp[i][j]=min(dp[i][j],c[i]);}
out<<dp[g][w];
return 0;
}