Cod sursa(job #1146740)

Utilizator lacraruraduRadu Matei Lacraru lacraruradu Data 19 martie 2014 11:25:48
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

ifstream in("indep.in");
ofstream out("indep.out");

int v[501];
int d[501][1001];

int cmmdc(int a , int b)
{
    int c;

    while(b)
    {
        c = a % b;
        a = b;
        b = c;
    }

    return a;
}

int main()
{
    int n , i , j , k;

    in>>n;

    for (i = 1 ; i <= n ; i++)
        in>>v[i];

    d[1][v[1]] = 1;
    for (j = 1 ; j <= 1000 ; j++)
        d[2][cmmdc(v[2] , j)] += d[1][j];

    for (i = 2 ; i <= n ; i++)
        for (j = 1 ; j <= 1000 ; j++)
        {
            d[i][j] += d[i - 1][j];
            d[i + 1][cmmdc(v[i + 1] , j)] += d[i][j];
            //d[i][cmmdc(v[i] , j)] += d[i - 1][j];
        }

    out<<d[n][1]<<'\n';
    return 0;
}