Cod sursa(job #402166)

Utilizator mihaionlyMihai Jiplea mihaionly Data 23 februarie 2010 15:53:02
Problema Indep Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
using namespace std;
ifstream f("indep.in");
ofstream g("indep.out");
#define nmax 505
int n,cm,sol,pre;
int A[nmax];
bool ok;
long long power(int n,int p)
 {
 unsigned long long sol=1;
 for (int i=0; (1<<i)<=p; i++)
 {
 if ((1<<i) & p )
    sol=(sol*n);
  n=(n*n);
  }
 return sol;
}
void read()
 {
 f>>n;
 for(int i=1;i<=n;i++) f>>A[i];
 }
int cmmdc(int a,int b)
 {
 if(b==0)
  return a;
 return cmmdc(b,a%b);
 }
int main()
 {
 read();
 int i,j;
 for(i=1;i<n;i++)
  {
  cm=0;
  ok=false;
  for(j=i+1;j<=n;j++)
   {
   if(cmmdc(A[i],A[j])==1)
    {
	ok=true;
    sol+=power(2,n-2-cm-pre);
	++cm;
    }
   }
  pre+=ok;
  }
 g<<sol;
 }