Pagini recente » Cod sursa (job #274015) | Cod sursa (job #411175) | Cod sursa (job #1258184) | Cod sursa (job #1544631) | Cod sursa (job #770321)
Cod sursa(job #770321)
#include <fstream>
#define INF 19999999
using namespace std;
int n, energiemin, D[1001][5001], i, j, en[1001], cost[1001];
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>n>>energiemin;
for(i=1; i<=n; i++)
{
f>>en[i]>>cost[i];
}
for(i=1; i<=n; i++)
{
D[i][0]=INF;
}
for(j=1; j<=energiemin; j++)
{
D[0][j]=INF;
}
int l=0;
for(i=1; i<=n;l=1-l, i++)
{
for(j=1; j<=energiemin; j++)
{
D[i][j]=D[i-1][j];
if(en[i]>=j && cost[i]<D[i][j])
D[i][j] = cost[i];
else
if(en[i]<j && D[i-1][j-en[i]]+cost[i] < D[i][j])
D[i][j] = D[i-1][j-en[i]]+cost[i];
}
}
if(D[n][energiemin]!=INF)
g<<D[n][energiemin];
else
g<<-1;
}