Pagini recente » Cod sursa (job #2240781) | Cod sursa (job #1607872) | Cod sursa (job #2823390) | Cod sursa (job #2428659) | Cod sursa (job #631845)
Cod sursa(job #631845)
#include<fstream>
using namespace std;
ofstream fout("ghiozdan.out");
int v[20050],n,G,s;
void quick(int st,int dr);
void citire();
void afis();
void rez(int &);
int main()
{
citire();
quick(1,n);
int rezu;
rez(rezu);
for(int i=1;i<=rezu;i++)
s+=v[i];
fout<<s<<" "<<rezu;
fout<<endl;
for(int i=1;i<=rezu;i++)
fout<<v[i]<<endl;
return 0;
}
void citire()
{
ifstream fin("ghiozdan.in");
fin>>n>>G;
for(int i=1;i<=n;i++)
fin>>v[i];
}
void quick(int st,int dr)
{
if(st<dr)
{
int i=st,j=dr,d=0;
while(i<j)
{
if(v[i]>v[j])
{
int aux=v[i];
v[i]=v[j];
v[j]=aux;
d=1-d;
}
if(d==0)
j--;
else
i++;
}
quick(st,i-1);
quick(i+1,dr);
}
}
void rez(int &rez)
{
int g=G;
for(int i=1;i<=n;i++)
if(g==1||g==0)
return;
else
{
if(v[i]<=g)
{
rez++;;
g-=v[i];
}
}
}