Pagini recente » Cod sursa (job #2561740) | Cod sursa (job #1008008) | Cod sursa (job #2641317) | Cod sursa (job #1132826) | Cod sursa (job #419941)
Cod sursa(job #419941)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE*f=fopen("economie.in","r");
FILE*g=fopen("economie.out","w");
int n,ok,i,j,ok2;
int v[1010];
int m[1010];
int main () {
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
sort(v+1,v+n+1);
m[0]=1;
ok=1;
for(i=1;i<=n&&ok!=0;i++){
if(m[v[i]]==0){
m[v[i]]=1;
for(j=0;j<=v[n]+1;j++){
if(m[j]==1&&j+v[i]<=v[n]+1)
m[j+v[i]]=1;
}
ok2=0;
for(j=1;j<=n;j++){
if(m[v[j]]==0){
ok2=1;
break;
}
}
if(ok2==0)
ok=0;
}
}
fprintf(g,"%d\n",i-1);
for(j=1;j<=i-1;j++)
fprintf(g,"%d ",v[j]);
fclose(f);
fclose(g);
return 0;
}