Cod sursa(job #2087961)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 14 decembrie 2017 16:35:08
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
using namespace std;
ifstream cin("indep.in");
ofstream cout("indep.out");
#define ll long long
const int nmax=500,valmax=1000;
ll v[nmax+5];
ll dp[nmax+5][valmax+5];
ll n;
int cmmdc(int a,int b)
{
    if(b==0)
        return a;
    return cmmdc(b,a%b);
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    dp[1][v[1]]=1;
    for(int dr=2;dr<=n;dr++)
    {
        for(int i=1;i<=n;i++)
            dp[dr][i]=dp[dr-1][i];
        dp[dr][v[dr]]++;
        for(int value=1;value<=valmax;value++)
            {
                dp[dr][cmmdc(value,v[dr])]+=dp[dr-1][value];
            }
    }
    cout<<dp[n][1];
    return 0;
}
/**
**/