Pagini recente » Cod sursa (job #470575) | Cod sursa (job #1475027) | Cod sursa (job #1316060) | Cod sursa (job #1357181) | Cod sursa (job #299243)
Cod sursa(job #299243)
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
int main()
{long int moneda[1006],max,nr=0,j,q,i;
int n,v[1006];
char ok[50006];
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&n);max=0;memset(ok,0,sizeof(ok));
for (i=1;i<=n;i++)
{ scanf("%d",&v[i]);/*if (!ok[j]) {nr++;v[nr]=j;*/if (v[i]>max) max=v[i]; ok[v[i]]=1;}
//n=nr;nr=0;//am facut citirea eliminand elementele care se repeta
sort(v+1,v+n+1);
/*for (i=1;i<=n-1;i++)
if (ok[v[i]]==1)
{nr++;moneda[nr]=v[i];
for (j=v[i];j<=max;j++)
if ((ok[j-v[i]]==-1) || (ok[j-v[i]]==1))
[j]+q*v[i]]=-1;
}*/
for (i=1;i<=n;i++)
{
for (j=v[i];j<=max;j++)
if (ok[j-v[i]]!=0)
ok[j]++;
if (ok[v[i]]==1)
{
nr++;
moneda[nr]=v[i];}
}
printf("%ld\n",nr);
for (i=1;i<=nr;i++) printf("%ld\n",moneda[i]);
return 0;}