Pagini recente » Istoria paginii runda/bulangandit8/clasament | Cod sursa (job #226952) | Statistici UBB GRIZA NEGURA RUSU (ubb_oprimabuzurile_2016_prim) | Soldati | Cod sursa (job #2003847)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
const int INF = 10005;
int G[1001][5001],E[1001],C[1001];
int main()
{
int n,W;
in >> n >> W;
for (int i = 1; i<=n; i++)
in >> E[i] >> C[i];
for (int i = 0; i<=n; i++)
for (int j = 0; j<=W; j++)
G[i][j] = INF;
for (int i = 1; i<=n; i++)
for (int j = 0; j<=W; j++)
{
if (E[i]>=j)
G[i][j] = min(C[i],G[i-1][j]);
else
G[i][j] = min(G[i-1][j-E[i]]+C[i],G[i-1][j]);
}
if (G[n][W] == INF)
out << "-1";
else
out << G[n][W];
}