Pagini recente » Cod sursa (job #1624810) | Cod sursa (job #1856911) | Cod sursa (job #2348963) | Cod sursa (job #148172) | Cod sursa (job #2615023)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
typedef struct rucsac
{
int capacitate;
int pret;
};
int max(int a, int b)
{
if (a < b)
return b;
else
return a;
}
int pret_max(int capacitate_max, rucsac* produse, int n)
{
if (capacitate_max - produse[n].capacitate < 0)
return 0;
if (n == -1)
return 0;
return max(pret_max(capacitate_max - produse[n].capacitate, produse, n-1)+produse[n].pret, pret_max(capacitate_max, produse, n-1));
}
int main()
{
int n,capacitate_max;
FILE* fin = fopen("rucsac.in", "r");
fscanf(fin, "%d%d", &n,&capacitate_max);
rucsac* produse = (rucsac*)malloc(n * sizeof(rucsac));
for (int i = 0; i < n; i++)
{
fscanf(fin, "%d%d", &produse[i].capacitate, &produse[i].pret);
}
FILE* fout = fopen("rucsac.out", "w");
fprintf(fout,"%d",pret_max(capacitate_max, produse, n-1));
}