Cod sursa(job #645468)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 9 decembrie 2011 19:39:59
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int v[1000],q,i,n,t,j,k,A[1000];
short int E1[50000],E2[50000];
int main() {
    f>>n;
    for(i=1; i<=n; i++) {
        f>>v[i];
        q=max(q,v[i]);
    }


    for(i=1; i<=n; i++) if (E2[v[i]]==0) {
            for(j=v[i]; j<=q; j+=v[i]) {
                E2[j]=1;
                for(t=1; t<=q; t++)  if (E1[t]==1) {
                        E2[t+j]=1;
                    }
                for(t=1; t<=q; t++) E1[t]=E2[t];

            }
            k++;
            A[k]=v[i];
        }


    g<<k<<'\n';
    for(i=1; i<=k; i++)
        g<<A[i]<<'\n';



    f.close();
    g.close();
    return 0;
}