Cod sursa(job #920223)

Utilizator readynessBarabas Barnabas readyness Data 20 martie 2013 09:36:28
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <iostream>
#include <fstream>

using namespace std;

bool a[50001];
unsigned short n,i,nagy=0,db=0,j,k,l,szam;


int main()
{
    ifstream f("economie.in");
    ofstream g("economie.out");
    f>>n;
    fill(a,a+50001,0);
    for(i=0;i<n;i++)
    {
        f>>szam;
        a[szam]=true;
        if(szam>nagy)
        {
            nagy=szam;
        }
    }
    for(i=0;i<=nagy;i++)
    {
        if(a[i])
        {
            db++;
            for(j=2*i;j<=nagy;j+=i)
            {
                a[j]=false;
            }
            for(j=i+1;j<=nagy;j++)
            {
                if(a[j])
                {
                    for(k=i;/*k<=i*j&&*/k<=nagy;k+=i)
                    {
                        for(l=j;k+l<=nagy;l+=j)
                        {
                            a[k+l]=false;
                        }
                    }
                }
            }
        }
    }
    g<<db<<"\n";
    for(i=0;i<=nagy;i++)
    {
        if(a[i])
        {
            g<<i<<"\n";
        }
    }
    return 0;
}