Pagini recente » Cod sursa (job #3218302) | Cod sursa (job #3038526) | Cod sursa (job #992170) | Cod sursa (job #2453776) | Cod sursa (job #287974)
Cod sursa(job #287974)
#include<stdio.h>
int n,i,j,ok,k,v[100],t[100],max;
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d", &n);
for(i=1;i<=n;i++)
{
scanf("%d", &v[i]);
if(v[i]>max) max=v[i];
}
k=n;
do
{
ok=1;
for(i=1;i<k;i++)
if(v[i]<v[i+1]){
ok=0;
v[0]=v[i];
v[i]=v[i+1];
v[i+1]=v[i];
}
k--;
}while(ok);
for(i=1;i<=n && ok;i++)
{
ok=1;
if(v[i]==i && t[i]==0){
t[i]=2;
k++;
}
for(j=i;j<=max;j++)
if(t[j-v[i]]!=0){
t[j]=1;
ok=0;
}
}
printf("%d\n", k);
for(i=1;i<=max;i++)
if(t[i]==2) printf("%d ", t[i]);
return 0;
}