Cod sursa(job #2327506)

Utilizator MAXIMILLIANMUSOHYEAHYEAH MAXIMILLIANMUS Data 24 ianuarie 2019 19:16:25
Problema Indep Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <bits/stdc++.h>
 
 
 
const int bz=1e9;
 
 
 
using namespace std;
 
 
 
ifstream f("indep.in");
 
ofstream g("indep.out");
 
 
 
int n,i,j,a,len[1010],val[1010][30];
 
 
 
void ad(int i,int j)
 
{
 
    int ovr=0;
 
    for(int r=1;r<=max(len[i],len[j])+3;r++)
 
    {
 
        val[j][r]+=val[i][r]+ovr;
 
        ovr=val[j][r]/bz;
 
        val[j][r]%=bz;
 
    }
 
    for(int r=1;r<=20;r++)
 
        if(val[j][r])
 
            len[j]=r;
 
    if(!len[j])len[j]=1;
 
}
 
 
 
int main()
 
{
 
    f>>n;
 
    for(i=0;i<=1000;i++)
 
        len[i]=1;
 
    val[0][1]=1;
 
    for(i=1;i<=n;i++)
 
    {
 
        f>>a;
 
        for(j=1;j<=1000;j++)
 
        {
 
            int x=__gcd(j,a);
 
            ad(j,x);
 
        }
 
        ad(0,a);
 
    }
 
    g<<val[1][len[1]];
 
    for(i=len[1]-1;i>=1;i--)
 
    {
 
        int k=0,a[20];
 
        for(j=1;j<=9;j++)
 
        {
 
            a[++k]=val[1][i]%10;
 
            val[1][i]/=10;
 
        }
 
        for(j=9;j>=1;j--)
 
            g<<a[j];
 
    }
 
    return 0;
 
}