Cod sursa(job #1359506)

Utilizator emanuel_rRamneantu Emanuel emanuel_r Data 24 februarie 2015 23:07:11
Problema Economie Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#include<cmath>
#include<iostream>
#include<algorithm>

using namespace std;

ifstream f("economie.in");
ofstream g("economie.out");

int a[1005],s[50005],b[1005];
int n,nrf;

void citire()
{
    int i;
    f>>n;
    for(i=0;i<n;i++)
        f>>a[i];
    sort(a,a+n);
}

void rez()
{
    int i,maxi,j,k;
    maxi=a[n-1];
    s[0]=1;
    for(i=0;i<n;i++){
        if(s[a[i]]==0){
            b[nrf++]=a[i];
            for(j=0;j<maxi;j++)
                if(s[j]==1)
                    for(k=j+a[i];k<=maxi;k=k+a[i])
                        s[k]=1;
        }
    }
}

void scriere()
{
    int i;
    g<<nrf<<"\n";
    for(i=0;i<nrf;i++)
        g<<b[i]<<"\n";
}

int main()
{
    citire();
    rez();
    scriere();
    return 0;
}