Cod sursa(job #595171)

Utilizator darrenRares Buhai darren Data 11 iunie 2011 13:07:37
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;

inline int cmmdc(int a, int b)
{
    if (b == 0) return a;
    return cmmdc(b, a % b);
}

int N, V[502];
int num[1002];

int main()
{
    ifstream fin("indep.in");
    ofstream fout("indep.out");

    fin >> N;
    for (int i = 1; i <= N; ++i)
        fin >> V[i];

    num[V[1]] = 1;
    for (int i = 2; i <= N; ++i)
    {
        ++num[V[i]];
        for (int j = 1; j <= 1000; ++j)
            num[cmmdc(V[i], j)] += num[j];
    }

    fout << num[1];

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