Pagini recente » Cod sursa (job #2584365) | Cod sursa (job #730511) | Cod sursa (job #3232670) | Cod sursa (job #2123955) | Cod sursa (job #1916878)
#include <fstream>
using namespace std;
int n, w, c[1002], e[1002], op[10002], sol, ma, cmax;
int main()
{
ifstream fin("energii.in");
ofstream fout("energii.out");
fin >> n >> w;
for(int i = 1; i <= n; ++i)
{
fin >> e[i] >> c[i];
if(c[i] > cmax) cmax = c[i];
}
sol = 999999;
ma = 999999;
for(int i = 1; i <= n; ++i)
for(int j = 0; j <= cmax-c[i]; ++j)
if(op[j + c[i]] < op[j] + e[i])
{
op[j+c[i]] = op[j] + e[i];
if(j+c[i] < ma && op[j+c[i]] <= sol && op[j+c[i]] >= w)
{
ma = j+c[i];
sol = op[j+c[i]];
}
}
if(sol == 999999) fout << -1;
else fout << ma;
return 0;
}