Cod sursa(job #775613)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 8 august 2012 16:26:42
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
bool v[50007];
long n,nr,c[50006],a[1007];
void ciurdif()
{
    long i,j;
    v[a[1]]=0;
    for (i=a[1]*2;i<=50000;i+=a[1])
        v[i]=1;
    for (i=2;i<=n;i++)
        if (v[a[i]]==0)
        {
            v[a[i]*2]=1;
            for (j=1;j<=50000;j++)
                if (v[j]==1&&j+a[i]<=50000)
                    v[j+a[i]]=1;
        }
}
int main()
{
    long i;
    freopen("economie.in","r",stdin);
    freopen("economie.out","w",stdout);
    scanf("%ld",&n);
    for (i=1;i<=n;i++)
        scanf("%ld",&a[i]);
    sort (a+1,a+n+1);
    ciurdif();
    for (i=1;i<=n;i++)
        if (v[a[i]]==0)
            nr++,c[nr]=a[i];
    printf("%ld\n",nr);
    for (i=1;i<=nr;i++)
        printf("%ld\n",c[i]);
    return 0;
}