Cod sursa(job #124675)

Utilizator katakunaCazacu Alexandru katakuna Data 19 ianuarie 2008 18:49:32
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<stdio.h>

int k,c,b,ok,i,j,n,v[1001];
char t[50001];

int main(){

FILE *f=fopen("economie.in","r");
fscanf(f,"%d",&n);

  for(i=1;i<=n;i++){
  fscanf(f,"%d",&v[i]);

  }
fclose(f);

//ok=1;
 //while(ok){
 //ok=0;

//  for(i=1;i<n;i++){
 //  if(v[i]>v[i+1]){
  // ok=v[i];
//   v[i]=v[i+1];
//   v[i]=ok;
 //  ok=1;
 //  }
 // }

// }

c=v[n];
 for(i=1;i<=n;i++){
  if(t[v[i]]==0){
  k++;v[k]=v[i];
  b=v[i];

    for(j=v[1];j<=c;j++){
     if(t[j]==1&&t[j+b]==0){
     t[j+b]=1;}
    if(t[j]+b>c)break;
    }

    for(j=b;j<=c;j+=b){
    if(t[j]==1)t[j]=1;
    }
  }
 }

FILE *g=fopen("economie.out","w");
fprintf(g,"%d\n",k);
  for(i=1;i<=k;i++){
  fprintf(g,"%d ",v[i]);
  }
fclose(g);

return 0;
}