Cod sursa(job #2146103)

Utilizator MiricaMateiMirica Matei MiricaMatei Data 27 februarie 2018 19:50:10
Problema Indep Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <cstdio>

using namespace std;

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

int dp[1005];

int main() {
  freopen("indep.in", "r", stdin);
  freopen("indep.out", "w", stdout);

  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    int x;
    scanf("%d", &x);
    for (int j = 1; j <= 1000; ++j)
      dp[gcd(j, x)] += dp[j];
    dp[x]++;
  }

  printf("%d\n", dp[1]);

  return 0;
}