Cod sursa(job #1769193)
Utilizator | Data | 2 octombrie 2016 00:55:11 | |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
#include <iostream>
#define INF 0x3f3f3f3f
using namespace std;
ifstream f("energii.in");
ofstream fout("energii.out");
int n, w, e[1005], v[1005], cmin[5005];
inline int min(int a, int b)
{
return a < b ? a : b;
}
int main()
{
f >> n >> w;
for(int i = 1; i <= n; ++i)
f >> e[i] >> v[i];
//cmin[0] = INF;
for(int i = 1; i <= w; ++i)
{
cmin[i] = INF;
for(int j = 1; j <= n; ++j)
{
if(i >= e[j])
cmin[i] = min(cmin[i], cmin[i - e[j]] + v[j]);
}
}
fout << cmin[w] << '\n';
}