Cod sursa(job #1278517)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 29 noiembrie 2014 00:01:23
Problema Economie Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>

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';
    sort(sol+1,sol+k+1);
    for(i=1;i<=k;i++)
        fout<<sol[i]<<'\n';
    fin.close();fout.close();
    return 0;
}