Pagini recente » Cod sursa (job #1252624) | Cod sursa (job #1372506) | Cod sursa (job #2703192) | Cod sursa (job #1110261) | Cod sursa (job #2866982)
#include <iostream>
#include <fstream>
using namespace std;
int a = 2147483647;
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, suly;
f >> n >> suly;
int sulyok[n];
int arak[n];
for (int i = 0; i < n; i++)
{
f >> sulyok[i] >> arak[i];
}
int maxi, index;
int maximum = 0, jelenSuly = 0;
for (int i = 0; i < n; i++)
{
if (jelenSuly + sulyok[i] <= suly)
{
jelenSuly += sulyok[i];
maximum += arak[i];
continue;
}
maxi = a; index = -1;
for (int j = 0; j < i; j++)
{
if (maxi > arak[j] && jelenSuly + sulyok[i] - sulyok[j] <= suly)
{
maxi = arak[j]; index = j;
}
}
if (index != -1)
{
jelenSuly = jelenSuly - sulyok[index] + sulyok[i];
maximum = maximum - arak[index] + arak[i];
}
}
g << maximum;
return 0;
}