Pagini recente » Cod sursa (job #3178277) | Cod sursa (job #2353650) | Cod sursa (job #1328219) | Cod sursa (job #1335214) | Cod sursa (job #2400133)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct generator
{
int energie,cost;
};
generator v[1001];
int n,w,i,j,rez,s;
int optim[1001];
int cmp(generator a, generator b)
{
return a.cost<b.cost;
}
int main()
{
f>>n>>w;
for (i=1;i<=n;i++)
{
f>>v[i].energie>>v[i].cost;
s+=v[i].energie;
}
if (s<w)
g<<-1;
else
{
for (i=1;i<=n;i++)
for (j=w-v[i].energie;j>=0;j--)
{
if (optim[j+v[i].energie]<optim[j]+v[i].cost)
{
optim[j+v[i].energie]=optim[j]+v[i].cost;
rez=max(rez,optim[j+v[i].energie]);
}
}
g<<rez;
}
return 0;
}