Cod sursa(job #240829)
| Utilizator | Data | 8 ianuarie 2009 19:40:51 | |
|---|---|---|---|
| Problema | Economie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
int v[50001];
int s[1001];
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int n,i,j,x,max=0,p=0;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d",&x);
v[x]=-1;
if(x>max) max=x;
}
for(i=1;i<max;++i)
{
if(v[i]==-1)
{
for(j=i;j<=max-i;++j)
if(v[j]) v[j+i]=1;
s[p++]=i;
}
}
printf("%d\n",p);
--p;
for(;p>=0;--p) printf("%d\n",s[p]);
return 0;
}
