Pagini recente » Cod sursa (job #102318) | Cod sursa (job #75848) | tema_laborator | Cod sursa (job #2961539) | Cod sursa (job #308044)
Cod sursa(job #308044)
#include<fstream>
#include<stdlib.h>
using namespace std;
ifstream f1 ("economie.in");
ofstream f2 ("economie.out");
int v[50001];
int compar(const void*p, const void*q)
{
int x=*(int*)p, y=*(int*)q;
if (x>y) return 1;
if (x<y) return -1;
return 0;
}
int main()
{
int n,i,j,s,nr=0,k,val[1001];
f1>>n;
for (i=1; i<=n; i++) f1>>val[i];
qsort (val+1, n, sizeof(val[0]), compar);
i=1;
s=val[n];
while (i<=n)
{
while (v[val[i]]!=0 && i<=n) i++;
v[val[i]]=2;
for (j=1; j<=s; j++) if (v[j]!=0) v[j+val[i]]=1;
nr++;
i++;
}
nr--;
f2<<nr<<endl;
for (i=1; i<=n; i++) if (v[val[i]]==2) f2<<val[i]<<" ";
return 0;
}