Cod sursa(job #2315541)
| Utilizator | Data | 10 ianuarie 2019 10:58:43 | |
|---|---|---|---|
| Problema | Indep | Scor | 5 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
unsigned long long dp[505][1005],v[505],Max;
int main()
{
int n;
in >> n;
for (int i = 1; i<=n; i++)
{
in >> v[i];
Max = max(Max,v[i]);
}
dp[1][v[1]] = 1;
for (int i = 2; i<=n; i++)
{
for (int j = 1; j<=Max; j++)
dp[i][__gcd(v[i],1ULL*j)]+=dp[i-1][j];
for (int j = 1; j<=Max; j++)
dp[i][j]+=dp[i-1][j];
}
out << dp[n][1];
}
