Pagini recente » Cod sursa (job #1451069) | Cod sursa (job #2990520) | Cod sursa (job #279974) | Cod sursa (job #1750243) | Cod sursa (job #1853268)
#include <iostream>
#include <fstream>
using namespace std;
int V[10010][2];
int D[5010];
int mn = 1000000;
int val = 0;
int main()
{
ifstream i("energii.in");
ofstream o("energii.out");
int G, W;
i >> G >> W;
for(int a = 0; a < G; a++)
{
i >> V[a][0] >> V[a][1];
}
for(int a = 1; a < W; a++)
{
D[a] = -1;
}
for(int a = 0; a < G; a++)
{
for(int b = W; b >= 0; b--)
{
if(D[b] != -1 && D[b] + V[a][1] > D[b + V[a][0]])
{
D[b + V[a][0]] = D[b] + V[a][1];
if(D[b + V[a][0]] >= W)
{
if(b + V[a][0] < mn)
{
val = D[b + V[a][0]];
mn = b + V[a][0];
}
}
}
}
}
o << val;
return 0;
}