Pagini recente » Cod sursa (job #1243409) | Cod sursa (job #378943) | Cod sursa (job #2105255) | Cod sursa (job #413528) | Cod sursa (job #419948)
Cod sursa(job #419948)
#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,k;
int v[1010];
int m[50002];
int sol[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){
sol[++k] = v[i];
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",k);
for(j=1;j<=k;j++)
fprintf(g,"%d\n",sol[j]);
fclose(f);
fclose(g);
return 0;
}