Pagini recente » Cod sursa (job #2255985) | Cod sursa (job #1568673) | Cod sursa (job #1810866) | Cod sursa (job #1325143) | Cod sursa (job #65548)
Cod sursa(job #65548)
using namespace std;
#include <cstdio>
#include <algorithm>
#include <string>
#define maxn 32
int x[maxn], n, G;
void solve()
{
int i, j, t;
int s[maxn];
memset(s, 0, sizeof(s));
sort(x+1, x+n+1);
reverse(x+1, x+n+1);
for(t=1;t<=n;++t)
{
for(i=1;i<=t;++i)
s[i]=x[i];
int ok=1;
for(i=1;i<=t;++i) if(s[i]>G) { ok=0; break;}
if(ok==0) continue;
ok=1;
for(i=t+1;i<=n;++i)
{
int oki=0;
for(j=1;j<=t;++j)
if(s[j]+x[i]<=G)
{
s[j]+=x[i];
oki=1;
break;
}
if(oki==0)ok=0;
}
//for(i=1;i<=t;++i) printf("%d ", s[i]);
//printf("\n");
for(i=1;i<=t;++i) if(s[i]>G) { ok=0; break;}
if(ok)
{
printf("%d\n", t); return ;
}
}
}
int main()
{
int t=3;
freopen("zebughil.in", "r", stdin);
freopen("zebughil.out", "w", stdout);
while(t--)
{
scanf("%d %d\n", &n, &G);
for(int i=1;i<=n;++i) scanf("%d ", x+i);
solve();
}
return 0;
}