Pagini recente » Cod sursa (job #736743) | Cod sursa (job #2687564) | Cod sursa (job #2687514) | Profil osiaccr | Cod sursa (job #113428)
Cod sursa(job #113428)
#include<stdio.h>
int n, g, s[20], contor, v[20], min, ok;
void citire()
{
scanf("%d %d", &n, &g);
for (int i = 1; i <= n; i++) scanf ("%d",v + i);
}
int verif(int nr)
{
int sum, i, j;
for (i = 1; i <= nr; i++)
{
sum = 0;
for (j = 1; j <= n; j++) if (s[j] == i) sum += v[j];
if (sum > g) return 0;
}
return 1;
}
void back(int k, int nr)
{
int i;
if (k > n) {if (verif(nr)) ok = 1;}
else
{
for (i = 1; i <= nr; i++)
{
s[k] = i;
back (k + 1, nr);
}
}
if (min > nr) {min = nr; contor = min;}
}
int main()
{
freopen("zebughil.in","r",stdin);
freopen("zebughil.out","w",stdout);
int z, i;
for (z = 1; z <= 3; z++)
{
citire();
contor = 0;
min = 500;
ok = 0;
for (i = 1; i <= n; i++) { back(1,i); if (ok) break;}
printf("%d\n",i);
}
return 0;
}