Cod sursa(job #532481)
| Utilizator | Data | 11 februarie 2011 19:43:57 | |
|---|---|---|---|
| Problema | Indep | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
# include <fstream>
# include <iostream>
# define DIM 503
using namespace std;
int n, v[DIM];
long long sol[2*DIM];
int cmmdc (int x, int y)
{
int r;
do{
r=x%y;
x=y;
y=r;
}
while (r);
return x;
}
int main ()
{
int m=0;
ifstream fin ("indep.in");
ofstream fout ("indep.out");
fin>>n;
for(int i=1;i<=n;++i)
{
fin>>v[i];
if (v[i]>m)
m=v[i];
}
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
if (v[i]!=j && sol[j])
sol[cmmdc(v[i],j)]+=sol[j];
++sol[v[i]];
}
fout<<sol[1];
return 0;
}
