Cod sursa(job #109412)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 25 noiembrie 2007 10:57:00
Problema Aliens Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasa a 10-a Marime 0.82 kb
#include <fstream.h>
#include <math.h>
#define EPS 0.0000001
#include <stdio.h>
#include <string.h>
double a[52];
double N,sir[3000],nr;
int ver[52];
void citire(){
ifstream fin("aliens.in");
fin>>N;
double x1,x2;
for (int i=0;i<N;i++) {
    fin>>x1>>x2;
    a[i]=x1/x2;}
fin.close();
}
void da(){
nr++;
sir[nr-1]=1;
for (int i=0;i<N;i++)
   if (ver[i]==1)
      sir[nr-1]*=a[i];
}

void back(int k){
   if (k==N) {
      da();
      return ;}
   ver[k]=1;
   back(k+1);
   ver[k]=0;
   back(k+1);
}

long long max(){
long long maxim=0;
for (int i=0;i<=nr;i++)
      if (sir[i]>maxim){
      long long p=sir[i];
      if (p==sir[i])
	 maxim=sir[i];  }
return maxim;
}

int main(){
ofstream fout("aliens.out");
citire();
back(0);
fout<<max();
fout<<"\n";
fout.close();
return 0;
}