Cod sursa(job #1246526)
| Utilizator | Data | 21 octombrie 2014 11:14:38 | |
|---|---|---|---|
| Problema | Zebughil | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.87 kb |
#include <cstdio>
#include <algorithm>
#define INF 2000000001
using namespace std;
int a[100];
int main()
{
int T,N,G,i,p,sol,j,ok;
freopen ("zebughil.in","r",stdin);
freopen ("zebughil.out","w",stdout);
for(T=1;T<=3;++T)
{
scanf("%d%d", &N,&G);
for(i=1;i<=N;++i)
scanf("%d", &a[i]);
sort(a+1,a+N+1);
sol=N;
for(i=N;i;--i)
{
ok=1;
while(ok)
{
ok=0;
for(p=-1,j=i-1;j;--j)
if(a[j]<=G-a[i])
{
p=j; break;
}
if(p!=-1)
{
a[i]+=a[p]; a[p]=INF; --sol;
ok=1;
}
}
}
printf("%d\n", sol);
}
return 0;
}
