Pagini recente » Cod sursa (job #1991792) | Cod sursa (job #693760) | Cod sursa (job #639984) | Cod sursa (job #2531679) | Cod sursa (job #1206750)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int v[5002];
int main()
{
int G,W,EG,CG;
f >> G >> W;
for(int i = 1; i <= G; i++){
f >> EG >> CG;
if(EG >= W){
if(CG < v[W])
v[W] = CG;
if(0 == v[W])
v[W] = CG;
} else {
for(int j = W;j >= 1; j--)
if(v[j] != 0){
if(j + EG > W){
if(v[j] + CG < W)
v[W] = v[j] + CG;
} else {
if(v[j + EG] < j + CG)
v[j + EG] = v[j] + CG;
}
}
if(v[EG] == 0)
v[EG] = CG;
if(v[EG] > CG)
v[EG] = CG;
}
}
if(v[W] != 0)
g << v[W];
else
g << -1;
return 0;
}