Cod sursa(job #1368203)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 2 martie 2015 15:07:52
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int v[10001],n,i,sm;
int compare(const void *a,const void *b)
{
    return *(int*)a - *(int*)b;
}
int cmmdc(int p)
{
    int a=sm,b,c,j;
    for(j=p+1;j<n;j++)
    {
        b=v[j];
        while(b)
        {
            c=a%b;
            a=b;
            b=c;
        }
        c=a;
        a=v[j];
    }
    return c;
}
int main()
{
    ifstream f("economie.in");
    ofstream g("economie.out");
    f>>n;
    for(i=0;i<n;i++)
        f>>v[i];
    qsort(v,n,sizeof(int),compare);
    for(i=0;i<n;i++)
    {
        sm+=v[i];
        if(sm==cmmdc(i))
        {
            g<<i+1<<"\n";
            for(int j=0;j<=i;j++)
                g<<v[j]<<"\n";
            return 0;
        }
    }
    g<<0;
}