Pagini recente » Cod sursa (job #2019488) | Statistici Popescu Vlad Alexandru (vlad2179) | Istoria paginii warm-up-2004/clasament-11-12 | Istoria paginii grigore-moisil-2018/clasament/9 | Cod sursa (job #967555)
Cod sursa(job #967555)
#include <fstream>
using namespace std;
int A[5000][1000];
#define MAXINT 200000000
int main()
{
ifstream f("energii.in");
ofstream f2("energii.out");
int G, Wmin;
f>>G>>Wmin;
int w[1002];
int cost[1002];
for(int i = 0; i < G; ++i) f>>w[i]>>cost[i];
for(int i = 0; i < 5001; ++i) A[i][0] = MAXINT;
for(int j = 0; j < 1001; ++j) A[0][j] = MAXINT;
for(int sum = 1; sum <= Wmin; ++sum)
{
//if(w[0] >= sum) A[sum][0] = cost[0];
for(int elem = 1; elem < G; ++elem)
{
if(sum - w[elem] <= 0)
A[sum][elem] = min(cost[elem], A[sum][elem-1]);
else
A[sum][elem] = min(A[sum][elem-1], cost[elem] + A[sum-w[elem]][elem-1]);
}
}
if(A[Wmin][G-1] == MAXINT) f2<<-1;
else f2<<A[Wmin][G-1];
}