Pagini recente » Cod sursa (job #1182028) | Cod sursa (job #100083) | Cod sursa (job #1622960) | Cod sursa (job #2429832) | Cod sursa (job #844477)
Cod sursa(job #844477)
#include <stdio.h>
#include <algorithm>
FILE *f=fopen("economie.in","r");
FILE *g=fopen("economie.out","w");
int N,V[1010];
bool viz[50001];
int sol[1010];
int main(void){
register int i,j,Max=0;
fscanf(f,"%d",&N);
for(i=1;i<=N;i++){
fscanf(f,"%d",&V[i]);
}
std::sort(V+1,V+N+1);
Max=V[N];
viz[0]=true;
for(i=1;i<=N;i++){
if(!viz[V[i]])
sol[++sol[0]]=V[i];
for(j=0;j<=V[N]-V[i];j++){
if(viz[j])
viz[j+V[i]]=true;
}
}
fprintf(g,"%d\n",sol[0]);
for(i=1;i<=sol[0];i++)
fprintf(g,"%d\n",sol[i]);
fclose(f);
fclose(g);
return 0;
}