Pagini recente » Cod sursa (job #1379455) | Cod sursa (job #66688) | Cod sursa (job #2047266) | Cod sursa (job #923486) | Cod sursa (job #130780)
Cod sursa(job #130780)
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
int n, g, s[20], v[20], viz[20], min;
void citire()
{
scanf("%d %d", &n, &g);
for (int i = 1; i <= n; i++) scanf ("%d",v + i);
}
void verif()
{
int i, c = 1, sum = 0;
for (i = 1; i <= n; i++)
{
sum += s[i];
if (sum > g)
{
c++;
sum = s[i];
}
if (c >= min) return;
}
if (c < min) min = c;
}
void back(int k)
{
int i;
if (k > n) verif();
else
for (i = 1; i <= n; i++)
if (!viz[i])
{
s[k] = v[i];
viz[i] = 1;
back(k + 1);
viz[i] = 0;
}
}
int main()
{
freopen("zebughil.in","r",stdin);
freopen("zebughil.out","w",stdout);
int z;
for (z = 1; z <= 3; z++)
{
citire();
min = 650;
back(1);
printf("%d\n",min);
}
return 0;
}