Cod sursa(job #498884)

Utilizator balakraz94abcd efgh balakraz94 Data 7 noiembrie 2010 16:39:18
Problema Prod Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream.h>

ifstream fin("prod.in");
ofstream fout("prod.out");

int main()
{short f[10]={0};
int i,j;
short n=0,aux,x=1,y=1;
int a[502]={0},b[502]={0},c[1001]={0};

for(i=1;i<=9;i++) fin>>f[i];

for(i=9;i>0;i--)  while(f[i]){ if(!n){a[x]=i;
				                      x++; 
								      f[i]--;
                                       n++;}
                                      else  {b[y]=i;
											y++;
											f[i]--;
											n--;}
								}
x--;
y--;
if(x>y) {y++;
         b[y]=a[x];
         a[x]=0;
		 x--;
        }
a[0]=x;
b[0]=y;

for(i=x;i>x/2;i--) {aux=a[i];a[i]=a[x-i+1];a[x-i+1]=aux;}
for(i=y;i>y/2;i--) {aux=b[i];b[i]=b[y-i+1];b[y-i+1]=aux;}

for(i=1;i<=a[0];i++)
	for(j=1;j<=b[0];j++) c[i+j-1]+=a[i]*b[j];
int t=0;
for(i=1;c[i];i++) {c[i]+=t;
                   t=c[i]/10;
                   c[i]%=10;
}
c[0]=i-1;
if(t){c[i]=t;c[0]=i;}

for(i=c[0];i>0;i--) fout<<c[i];

fin.close();
fout.close();
return 0;
}