Pagini recente » Cod sursa (job #2235472) | Cod sursa (job #1264705) | Cod sursa (job #1080957) | Cod sursa (job #2078030) | Cod sursa (job #2398)
Cod sursa(job #2398)
#include<fstream.h>
ifstream in("zebughil.in");
ofstream out("zebughil.out");
void qsort(long tablou[],long prim, long ultim);
int main()
{
long n,g,j,a[1000],b[1000],c,k,adev;
for (int i=1;i<=3;i++)
{
in>>n;
in>>g;
for (j=1;j<=n;j++)
{
in>>a[j];
b[j]=0;
}
qsort(a,1,n);
k=1;
do
{
adev=0;
c=0;
for (j=1;j<=n;j++)
if (b[j]==0)
{
adev=1;
if (c+a[j]<=g) {c=c+a[j]; b[j]=1;}
}
k++;
}
while (adev);
out<<(k-2)<<'\n';
}
in.close();
out.close();
return 0;
}
void qsort(long tablou[],long prim, long ultim)
{
long temp, min, max, separator;
min=prim;
max=ultim;
separator=tablou[(prim+ultim)/2];
do
{
while (tablou[min]>separator)
min++;
while (tablou[max]<separator)
max--;
if (min<=max)
{
temp=tablou[min];
tablou[min++]=tablou[max];
tablou[max--]=temp;
}
}
while (min<=max);
if (prim<max)
qsort(tablou,prim,max);
if (min<ultim)
qsort(tablou,min,ultim);
}