Cod sursa(job #659397)

Utilizator roots4Irimia Alexandru Gabriel roots4 Data 10 ianuarie 2012 16:49:58
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<algorithm>
#define val 500001
using namespace std;
int i , n , maxim , m , j , V[1003], X[1003],k;
char Z[val];
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]);
	sort(V+1,V+n+1);
	for(i=1;i<=n;i++){
		k=V[i];
		if(Z[k]==0){
			Z[k]=1;
			X[++maxim]=k;
			for(j=1;j<=V[n];j++){
				if(Z[j]){
					m=1;
					//while((j+m*k)<=V[n]){
						Z[j+m*k]=1;
					//	m++;
					//}
				}
			}
		}
	}
	printf("%d\n",maxim);
	for(i=1;i<=maxim;i++)
		printf("%d\n",X[i]);
	return 0;
}