Pagini recente » Cod sursa (job #20208) | Cod sursa (job #1163247) | Cod sursa (job #779700) | Cod sursa (job #1063113) | Cod sursa (job #673982)
Cod sursa(job #673982)
#include <cstdio>
#include <algorithm>
#define infile "zebughil.in"
#define outfile "zebughil.out"
#define INF 1<<30
#define n_max 20
using namespace std;
int N, G;
int a[n_max];
void rezolva()
{
sort(a+1, a+N+1);
int Best = n_max;
do
{
int nrc = 1, sum = 0;
for(int i=1;i<=N;++i)
if(sum + a[i] <= G)
sum+=a[i];
else
{
nrc++;
sum = a[i];
}
Best = min(Best, nrc);
}while(next_permutation(a+1,a+N+1));
printf("%d\n",Best);
}
int main(void)
{
freopen(infile, "r", stdin);
freopen(outfile, "w", stdout);
for(int t=1;t<=3;++t)
{
scanf("%d %d", &N, &G);
for(int i=1;i<=N;++i)
scanf("%d",&a[i]);
rezolva();
}
fclose(stdin);
fclose(stdout);
return 0;
}