Pagini recente » Cod sursa (job #881727) | Cod sursa (job #1965272) | Cod sursa (job #1862000) | Cod sursa (job #1892703) | Cod sursa (job #2205804)
#include <iostream>
#include <fstream>
#define NMAX 20005
#define INF 0x3f3f3f
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,w,dp[NMAX];
int main()
{
for(int i = 1; i <= NMAX; i++)
dp[i]=INF;
fin>>n>>w;
while(n--)
{
int energia,cost;
fin>>energia>>cost;
for(int i = w - 1; i >= 0 ; i--)
{
dp[i+energia]=min(dp[i+energia], dp[i] +cost); /// ce aveam la pasul anterior plus costul current;
}
}
if(dp[w]==INF) fout<<-1;
else fout<<dp[w];
}