Cod sursa(job #1368268)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 2 martie 2015 15:39:02
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
short int maxi,l,v[50001],n,sm=0,sol[50001],nr[1001],i,j;
int compare(const void *a,const void *b)
{
    return *(short int*)a - *(short int*)b;
}
int main()
{
    ifstream f("economie.in");
    ofstream g("economie.out");
    f>>n;
    for(i=0;i<n;i++)
    {
        f>>nr[i];
        if(nr[i]>maxi) maxi=nr[i];
    }
    qsort(nr,n,sizeof(short int),compare);
    v[0]=1;sm=nr[0];
    for(i=0;i<n;i++,sm+=nr[i])
        if(!v[nr[i]])
        {
            sol[l++]=nr[i];
            for(j=0;j<=maxi;j+=sm)
                v[j]=1;
        }
    g<<l<<"\n";
    for(i=0;i<l;i++)
        g<<sol[i]<<"\n";
}