Cod sursa(job #277593)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 11 martie 2009 20:00:45
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream.h>   
ifstream f("economie.in");   
ofstream g("economie.out");   
unsigned int m[1001],n,i,x,k,nr,j,max,min;   
unsigned int p[5001],t[1001];
int main(){   
f>>n;max=0;min=50001;   
for(i=1;i<=n;i++){   
    f>>m[i];p[m[i]]=2;;if(m[i]>max)max=m[i];if(m[i]<min)min=m[i];}   
for(i=1;i<=n-1;i++)   
  for(k=i+1;k<=n;k++)   
    if(m[i]>m[k]){   
      x=m[k];   
      m[k]=m[i];   
      m[i]=x;}   
k=n;   
nr=0;   
  
for(i=1;i<=n&&k>0;i++)   
  
  if(p[m[i]]==2){nr++;   
        p[m[i]]=1;   
        t[i]=1;   
        k--;   
    for(j=min;j<=max;j++)
          if(j%m[i]==0){   
                  if(p[j]==2)   
                      k--;   
               p[j]=1;}   
	else if(p[j]==1&j+m[i]<=max){
                 if(p[j+m[i]]==2)   
                       k--;   
                p[j+m[i]]=1;}    
}   
  
g<<nr<<'\n';   
for(i=1;i<=n;i++)   
  if(t[i]==1)   
    g<<m[i]<<" ";   
return 0;   
}