Cod sursa(job #288422)

Utilizator alecmanAchim Ioan Alexandru alecman Data 25 martie 2009 19:40:18
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<cstdio>
#include<vector>
#include<algorithm>

using namespace std;

#define INPUT "economie.in"
#define OUTPUT "economie.out"
#define pb push_back

const int NMAX = 1001;

FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");

int N;
vector<int> G;
int V[ NMAX ], Valid[ NMAX ];

void readData()
{
  int X;

  fscanf(fin, "%d", &N);

  for(int i = 1; i <= N; ++i)
    fscanf(fin, "%d", &V[ i ]);
}

void solve()
{
  int cont = 0;

  vector<int>::iterator it;

  for(int i = 1; i <= N; ++i)
  {
    if(!Valid[ i ])
    {
      for(int j = i + 1; j <= N; ++j)
        if(V[ j ] % V[ i ] == 0)
          Valid[ j ] = 1;

      ++cont;
      G.pb(V[ i ]);
    }
  }

  fprintf(fout, "%d\n", cont);
  for(it = G.begin(); it != G.end(); ++it)
    fprintf(fout, "%d\n", *it);
}

int main()
{
  readData();

  //sort(V+1, V+N+1);

  solve();

  fclose(fin);
  fclose(fout);

  return 0;
}