Cod sursa(job #878673)

Utilizator ard_procesoareLupicu ard_procesoare Data 14 februarie 2013 17:47:50
Problema Indep Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;
ifstream fin("indep.in");
ofstream fout("indep.out");
#define NMAX 505
#define NMAX2 1005
long long n,v[NMAX],d[NMAX2];
void tipar();
void read()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
}
int cmmdc(int a,int b)
{
    while(a!=b)
    {
        if(a>b) a=a-b;
        if(b>a) b=b-a;
    }
    return a;
}
void solve()
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<1001;j++)
        {
            if(d[j])
            {
                d[cmmdc(j,v[i])] += d[j];
            }
        }
        d[v[i]] ++;
        //tipar();
    }
}
void tipar()
{
    for(int i=1;i<=20;i++) fout<<d[i]<<" ";
    fout<<endl;
}
int main()
{
    read();
    solve();
    fout<<d[1];
    // for(int i=1;i<=NMAX2;i++)
    //     fout<<d[i]<<"\n";
    //fout<<cmmdc(3,6);
}