Cod sursa(job #1152433)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 24 martie 2014 18:39:38
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#define Nmax 505
#define Vmax 1005

using namespace std;

int N,v[Nmax],dp[Nmax][Vmax+10];

inline int CMMDC(int a, int b)
{
    int r=a%b;
    while(r)
    {
        a=b; b=r; r=a%b;
    }
    return b;
}

int main()
{
    int i,j,k;
    freopen ("indep.in","r",stdin);
    freopen ("indep.out","w",stdout);
    scanf("%d", &N);
    for(i=1;i<=N;++i)
        scanf("%d", &v[i]);
    dp[1][v[1]]=1;
    for(i=1;i<N;++i)
        for(j=1;j<=Vmax;++j)
        {
            dp[i+1][j]+=dp[i][j];
            dp[i+1][CMMDC(j,v[i+1])]+=dp[i][j];
        }
    printf("%d\n", dp[N][1]);
    return 0;
}