Pagini recente » Cod sursa (job #2932321) | Cod sursa (job #1457303) | Cod sursa (job #2150474) | Cod sursa (job #454570) | Cod sursa (job #1483198)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
fstream fin("ghiozdan.in",ios::in),fout("ghiozdan.out",ios::out);
int e[100],v[100],x[100],n,g,maxgreutate=0,minelemente=999999999;
bool cmp(int a,int b)
{
return a>b;
}
void ghiozdan(int elemente,int greutate,int k)
{
int i;
if(greutate>maxgreutate||(greutate==maxgreutate&&minelemente>elemente))
{
maxgreutate=greutate;
minelemente=elemente;
fout.close();
fout.open("ghiozdan.out",ios::out|ios::in);
fout<<greutate<<" "<<elemente<<"\n";
for(i=1;i<k;i++)
{
fout<<x[i]<<"\n";
}
}
for(i=1;i<=n;i++)
{
if(v[i]==0)
{
if(greutate+e[i]<=g)
{
v[i]=1;
x[k]=e[i];
ghiozdan(elemente+1,greutate+e[i],k+1);
v[i]=0;
}
}
}
}
int main()
{
int i,j,q;
fin>>n>>g;
for(i=1;i<=n;i++)
{
fin>>e[i];
}
sort(e+1,e+n+1,cmp);
ghiozdan(0,0,1);
}