Cod sursa(job #775606)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 8 august 2012 16:20:40
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
bool v[50007];
int n,nr,c[50006],a[50007];
void ciurdif()
{
    int 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)
                    v[j+a[i]]=1;
        }
}
int main()
{
    int 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;
}