Cod sursa(job #2057981)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 4 noiembrie 2017 22:56:24
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <math.h>
#include <vector>
#include <set>
#include <algorithm>
#include <cstring>
//#include <unordered_map>
#include <iomanip>
#include <time.h>
#include <stdio.h>
#include <bitset>
#include <map>
#include <ctime>
#include <stdlib.h>
#define MAX 500000000000
//#include <iostream>
//#include <windows.h>
#include <deque>
//#include "PEZai.h"
//#include <Tlhelp32.h>
using namespace std;
//ifstream cin("jocul.in");
//ofstream cout("jocul.out");
ifstream cin("indep.in");
ofstream cout("indep.out");
unsigned long long dp[504], x[1005], s;
int gcd(int a, int b)
{
    return (b == 0 ? a : gcd(b, a % b));
}
int main()
{
    int n;
    cin >> n;
    for(int i = 1; i <= n; i++)
        cin >> x[i];
    for(int i = 1; i <= n; i++){
        for(int j = i - 1; j >= 1; j--)
        {
            if(gcd(x[i], x[j]) != 1)
                dp[i] += dp[j];
            else
            {
                dp[i] += (1LL<<(j - 1));
            }
        }
        s += dp[i];
    }
    cout << s;
}