Pagini recente » Cod sursa (job #1407518) | Cod sursa (job #3239003) | Cod sursa (job #1333407) | Cod sursa (job #456213) | Cod sursa (job #1483199)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
fstream fin("ghiozdan.in",ios::in),fout("ghiozdan.out",ios::out);
int e[2003],v[2003],x[2003],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);
}