Pagini recente » Cod sursa (job #2906982) | Cod sursa (job #3280988) | Cod sursa (job #534364) | Cod sursa (job #337080) | Cod sursa (job #267577)
Cod sursa(job #267577)
#include<stdio.h>
#include<algorithm>
#include<stdlib.h>
using namespace std;
#define IN "zebughil.in","r",stdin
#define OUT "zebughil.out","w",stdout
#define Nmax 20
int v[Nmax];
int n,g,cg,camioane;
int cmp(const void *q,const void *p)
{
int x=*(int*)q,y=*(int*)p;
if(x>y)
return 1;
else return -1;
return 0;
}
void solve()
{
int gr=0,j,i=1;
camioane=0;
for(i=1;i<=n;++i)
{
gr=v[i];
for(j=n;gr<=g && j>0;--j)
if(gr+v[j]<=g && i!=j && v[j])
{
gr+=v[j];
v[j]=0;
}
v[i]=0;
if(gr)
++camioane;
}
}
void afisare()
{
printf("%d\n",camioane);
}
int main()
{
int t=3;
freopen(IN);
freopen(OUT);
while(t)
{
scanf("%d%d",&n,&g);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
qsort(v+1,n,sizeof(v[0]),cmp);
solve();
afisare();
--t;
}
return 0;
}