Cod sursa(job #2577959)
Utilizator | Hantig Lorena LorenaMaria | Data | 10 martie 2020 10:43:39 |
---|---|---|---|
Problema | Indep | Scor | 5 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
#define ll unsigned long long
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
ll n,a[501],d[1001][1001];
ll cmmdc(ll a,ll b)
{ if(b>a)
swap(a,b);
ll r=a%b;
while(r!=0)
a=b,b=r,r=a%b;
return b;
}
int main()
{ in>>n;
for(ll i=1;i<=n;i++)
in>>a[i];
d[a[1]][a[1]]=1;
for(ll i=1;i<n;i++)
{ for(ll j=1;j<=1000;j++)
d[a[i+1]][j]+=d[a[i]][j],d[a[i+1]][cmmdc(j,a[i])]+=d[a[i]][j];
}
out<<d[a[n]][1]<<'\n';
in.close();
out.close();
return 0;
}