Pagini recente » Cod sursa (job #2874842) | Cod sursa (job #2955754) | Cod sursa (job #1343590) | Cod sursa (job #3234806) | Cod sursa (job #1004909)
#include<fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int optim[5001], w[5001], p[5001], n, i, j, g, c, sol;
int main() {
fin >> n; fin >> c;
for (i = 1; i <= n; i++) {
fin >> p[i] >> w[i];
g = g + w[i];
}
for (i = 1; i <= n; i++)
for (j = g - w[i]; j >= 0; j--)
if (optim[j + w[i]] < optim[j] + p[i])
optim[j + w[i]] = optim[j] + p[i];
for (i = 1; i <= g; i++)
if (optim[i] == c){
sol = i; i = g + 1;
}
if (sol == 0)
fout << - 1;
else
fout << sol;
}