Pagini recente » Istoria paginii runda/guyugj | Istoria paginii runda/253913 | Istoria paginii runda/antr10 | Istoria paginii runda/tesst/clasament | Cod sursa (job #277584)
Cod sursa(job #277584)
#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[50001],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&&2*m[i]<=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;
}