Cod sursa(job #1053570)

Utilizator alex.glontGlontaru Alexandru alex.glont Data 12 decembrie 2013 20:25:34
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<iostream>
#define VAL 1001
#define NMAX 501

using namespace std;

fstream in ( "indep.in" , ios::in ),
        out( "indep.out", ios::out);

int n , v[NMAX] , d[NMAX][VAL];


int cmmdc( int a, int b ){

    while( a ){


        if( a < b)   swap( a , b );

        a = a % b;
    }

    return b;
}

int main(){

    in >> n;

    for(int i=1; i<=n; i++){

        in >> v[i];
    }

    d[1][v[1]] = 1;

    for(int i=1; i<=n; i++){
        for(int j=1; j<=VAL; j++){

            d[i][cmmdc(j,v[i])] += d[i-1][j];
        }
        for(int j=1; j<=VAL; j++){
            d[i][j]+=d[i-1][j];
        }
    }

    out << d[n][1] <<'\n';

    return 0;

}