Cod sursa(job #1192947)

Utilizator iordache.bogdanIordache Ioan-Bogdan iordache.bogdan Data 30 mai 2014 12:04:52
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#define DIMN 505
#define VMAX 1001

using namespace std;

ifstream f("indep.in");
ofstream g("indep.out");

int d[DIMN][VMAX], v[DIMN];

int n, valm;

inline int maxim(int x, int y) {
    return x>y ? x : y;
}

int cmmdc (int a, int b) {
    int r;
    while (b!=0) {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}

int main() {
    f>>n;
    for (int i=1; i<=n; ++i) {
        f >> v[i];
        valm = maxim(valm, v[i]);
    }
    d[1][v[1]] = 1;
    for (int i=2; i<=n; ++i) {
        for (int j=1; j<=valm; ++j)
            d[i][j] = d[i-1][j];
        for (int j=1; j<=valm; ++j)
            d[i][cmmdc(j,v[i])] += d[i-1][j];
    }
    g<<d[n][1]<<"\n";
    return 0;
}