Cod sursa(job #1278515)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 28 noiembrie 2014 23:54:26
Problema Economie Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int v[1002],n,i,j,sol[1002],maxim,k,nr;
bool s[1000*50000+2];
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
        if(v[i]>maxim)
            maxim=v[i];
    }
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            s[v[i]+v[j]]=1;
    for(i=1;i<=maxim;i++){
        if(s[i]==1)
            for(j=1;j<=n;j++)
                if(!s[i+v[j]])
                    s[i+v[j]]=1;
    }
    for(i=1;i<=n;i++)
        if(!s[v[i]]){
            nr++;
            sol[++k]=v[i];
        }
    fout<<nr<<'\n';
    for(i=1;i<=k;i++)
        fout<<sol[i]<<'\n';
    fin.close();fout.close();
    return 0;
}